promise在resolve以后 再抛出错误并不会被捕获,等于没有抛出,我的理解是状态改变以后就不会再次改变。promise
getAsyncArr().then(promiseArr => { return promise.all(promiseArr); }) .then(res => console.log(res))
实现串行执行,那咱们能够利用reduce来处理串行执行
var pA = [ function() {return new Promise(resolve => resolve(1))}, function(data) {return new Promise (resolve(1 + data))} ] pA.reduce((prev, next) => prev.then(next).then(res=>res), Promise.resolve()).then(res => console.log(res))
函数