Promise.all 中解析值的顺序
Promise.all 方法接受一个可迭代对象作为参数,并返回一个解析的单个 Promise一旦 iterable 中的所有 Promise 都已解决,就会转换为值数组。文档建议保留解析数组中值的顺序,但是有更权威的来源吗?
规范中的顺序保留
ECMAScript 规范Promise.all 声明:
promiseList 中的所有 Promise 实例都已解析,并且结果列表中它们各自的元素被设置为相应的值。
这表明输入可迭代中的 Promise 实例的顺序保留在输出数组中。
内部实现
为了解析 Promise,Promise.all() 方法使用Promise.all().解决内部操作。此操作为每个 Promise 实例分配一个内部 [[Index]] 槽,指示其在原始输入可迭代中的索引。
结论
基于规范和Promise.all() 的内部实现,我们可以自信地说解析值的顺序被保留。解析后的数组严格遵循输入可迭代中 Promise 的顺序。
以上是Promise.all 是否保留解析值的顺序?的详细内容。更多信息请关注PHP中文网其他相关文章!