首頁 > 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板