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中文網其他相關文章!