首頁 >web前端 >js教程 >如何透過數組傳遞參數來排序 Promise 執行?

如何透過數組傳遞參數來排序 Promise 執行?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-20 14:57:02445瀏覽

How to Sequence Promise Execution with Parameter Passing from an Array?

透過陣列傳遞參數來順序執行Promise

考慮這樣的場景:您有一個值數組(例如myArray)並且需要執行一個Promise-順序地基於函數(例如myPromise),將每個陣列元素作為參數傳遞。如何實現一個「可暫停循環」來確保 Promise 以正確的順序解決?

解決方案:迭代 Promise 執行

要實現順序執行,可以使用 Promise 鏈的組合和迭代處理。下面是一個程式碼片段,示範如何做到這一點:

這種方法利用reduce方法來迭代數組並創建一系列鍊式承諾。每個 Promise 在前一個 Promise 完成後都會解決,從而有效地強制執行所需的執行順序。

非同步函數替代方案

如果您支援非同步函數,可以使用forEachSeries 獲得更清晰的解決方案函數:

此函數迭代數組並在每個函數中迭代數組並在每個元素處暫停,等待Promise 解決後再繼續下一次迭代。

收集結果

如果需要將promise的回傳值收集到數組中,可以修改forEachSeries函數如下:

此函數迭代數組,將promise的結果累加到results中數組,最後返回收集到的結果。

以上是如何透過數組傳遞參數來排序 Promise 執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn