本文的一些知识点摘自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 的实现程序决定。