Promise.all 中解析值的順序
Promise.all 方法接受一個可迭代物件作為參數,並傳回一個解析的單一Promise一旦iterable 中的所有Promise 都已解決,就會轉換為值數組。文件建議保留解析數組中值的順序,但是有更權威的來源嗎?
規範中的順序保留
ECMAScript 規範Promise.all 聲明:
promiseList 中的所有實例已解析,並且結果清單中它們各自的元素被設定為對應的值。
這表示輸入可迭代中的 Promise 實例的順序保留在輸出數組中。
內部實作
為了解析 Promise,Promise.all() 方法使用Promise.all().解決內部操作。此操作為每個 Promise 實例指派一個內部 [[Index]] 槽,指示其在原始輸入可迭代中的索引。
結論
基於規範和Promise.all() 的內部實現,我們可以自信地說解析值的順序被保留。解析後的陣列嚴格遵循輸入可迭代中 Promise 的順序。
以上是Promise.all 是否保留解析值的順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!