Promise.all([]) instanceof Promise // true 可以看到Promise.all这个静态方法返回的也是一个Promise实例。Promise.all的作用是在等待传入的所有Promise被resolve后再Promise.all所返回的promise的resolve,或在一个被reject后立即调用reject。场景是比如一个页面的渲染,需要请求几个数据,同时这几个数据没有互相依赖可以一起请求。 下面的例子里将在500毫秒后输出2, 'err1': Promise.all([new Promise(function (res) { setTimeout(function () { res(1) }, 100) }), new Promise(function (res, rej) { setTimeout(function () { rej('err1') }, 500) }), new Promise(function (res, rej) { setTimeout(function () { rej('err2') }, 3000) })]).then(function (results) { console.log(1) }, function (err) { console.log(2, err) })
可以看到Promise.all这个静态方法返回的也是一个Promise实例。Promise.all的作用是在等待传入的所有Promise被resolve后再Promise.all所返回的promise的resolve,或在一个被reject后立即调用reject。场景是比如一个页面的渲染,需要请求几个数据,同时这几个数据没有互相依赖可以一起请求。
下面的例子里将在500毫秒后输出2, 'err1':