首頁 > web前端 > js教程 > ## Promise.all() 是順序執行還是並行執行 Promise?

## Promise.all() 是順序執行還是並行執行 Promise?

Patricia Arquette
發布: 2024-10-26 11:27:29
原創
698 人瀏覽過

## Does Promise.all() Execute Promises Sequentially or in Parallel?

並行還是順序:Node.js 中 Promise.All() 的本質

出現一個關於 Promise 執行過程的問題。 Node.js 中的 all() 。它是順序處理還是並發處理 Promise?

問題 1:順序處理還是平行處理?

文件留下了歧義的空間,所以讓我們澄清一下: Promise.all(iterable)不會像承諾鏈一樣順序執行所有承諾(例如,p1.then(p2).then (p3)...),也不會並行運行它們。相反,它等待多個 Promise 的解決。

Q2:實作順序執行

如果 Promise.all() 缺乏順序功能,有替代方案嗎?

對於現有的一組 Promise,沒有本地方法來強制順序執行。但是,如果您有可迭代的非同步函數,則可以使用 Array::reduce:

iterable.reduce((p, fn) => p.then(fn), Promise.resolve())
登入後複製
建立順序執行鏈

以上是## Promise.all() 是順序執行還是並行執行 Promise?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板