考慮這樣的場景:您有一個值數組(例如myArray)並且需要執行一個Promise-順序地基於函數(例如myPromise),將每個陣列元素作為參數傳遞。如何實現一個「可暫停循環」來確保 Promise 以正確的順序解決?
要實現順序執行,可以使用 Promise 鏈的組合和迭代處理。下面是一個程式碼片段,示範如何做到這一點:
這種方法利用reduce方法來迭代數組並創建一系列鍊式承諾。每個 Promise 在前一個 Promise 完成後都會解決,從而有效地強制執行所需的執行順序。
如果您支援非同步函數,可以使用forEachSeries 獲得更清晰的解決方案函數:
此函數迭代數組並在每個函數中迭代數組並在每個元素處暫停,等待Promise 解決後再繼續下一次迭代。
如果需要將promise的回傳值收集到數組中,可以修改forEachSeries函數如下:
此函數迭代數組,將promise的結果累加到results中數組,最後返回收集到的結果。
以上是如何透過數組傳遞參數來排序 Promise 執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!