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中文网其他相关文章!