首页 > web前端 > js教程 > 如何同时使用 Array.map 和 async/await 来正确处理 Promise?

如何同时使用 Array.map 和 async/await 来正确处理 Promise?

Susan Sarandon
发布: 2024-12-14 11:47:18
原创
861 人浏览过

How Can I Use `Array.map` and `async/await` Together to Process Promises Correctly?

Array.map 和 Async/Await:解决 Promise 兼容性

下面的代码片段旨在利用 Array.map 和 async/await ,它会触发错误:

var arr = [1,2,3,4,5];

var results: number[] = await arr.map(async (item): Promise<number> => {
        await callAsynchronousOperation(item);
        return item + 1;
    });
登录后复制

错误源于尝试等待一系列的 Promise 而不是单个 Promise。然而,快速的解决方案在于在等待其解析之前使用 Promise.all 将 Promise 数组转换为单独的 Promise。

var arr = [1, 2, 3, 4, 5];

var results: number[] = await Promise.all(arr.map(async (item): Promise<number> => {
    await callAsynchronousOperation(item);
    return item + 1;
}));
登录后复制

以上是如何同时使用 Array.map 和 async/await 来正确处理 Promise?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板