Promise.all() 方法接收一个promise的iterable类型(注:Array,Map,Set都属于ES6的iterable类型)的输入,并且只返回一个Promise
实例, 那个输入的所有promise的resolve回调的结果是一个数组。这个Promise
的resolve回调执行是在所有输入的promise的resolve回调都结束,或者输入的iterable里没有promise了的时候。它的reject回调执行是,只要任何一个输入的promise的reject回调执行或者输入不合法的promise就会立即抛出错误,并且reject的是第一个抛出的错误信息。
let proArr = [];
newArry.forEach(function (item, index) {
proArr[index] = new Promise(function (resolve) {
axios({
url,
method: 'post',
data:{
number:item
},
headers: {'groupname': groupname,'accountid':accountid,'Content-Type': 'application/json','Access-Control-Allow-Origin': '*' }//设置header信息
}).then(res=>{
resolve(res.data);
}).catch(function (error) {
reject(error);
})
});
})
Promise.all(proArr).then((info)=>
res.status(200)
res.json({
success:true,
results:info
})
}).catch(function (err) {
console.log(err);
})