本文的一些知识点摘自 MDN web doc, 如果大家想深入研究,能够去看原文[应用 Promise] & [Promise 文档]
Promise.all(iterable)
这个办法返回一个新的 promise 对象,该 promise 对象在 iterable 参数对象里所有的 promise 对象都胜利的时候才会触发胜利,一旦有任何一个 iterable 外面的 promise 对象失败则立刻触发该 promise 对象的失败。
- .all()返回值
- 如果传入的参数是一个空的可迭代对象,则返回一个 已实现(already resolved)状态的 Promise。
- 如果传入的参数不蕴含任何
promise
,则返回一个 异步实现(asynchronously resolved) Promise。留神:Google Chrome 58 在这种状况下返回一个 已实现(already resolved)状态的 Promise。 - 其它状况下返回一个 解决中(pending)的 Promise。这个返回的
promise
之后会在所有的promise
都实现或有一个promise
失败时 异步 地变为实现或失败。见下方对于“Promise.all 的异步或同步”示例。返回值将会依照参数内的promise
顺序排列,而不是由调用promise
的实现程序决定。