1、Promise构造函数只有一个参数,该参数是一个函数,被称作执行器,执行器有2个参数,分别是resolve()和reject(),一个表示成功的回调,一个表示失败的回调。
2、Promise.all里的任务列表是按顺序发起的,但是结果是异步的,互相之间并不阻塞,每个任务完成时机是不确定的,尽管如此,所有任务结束之后,它们的结果仍然是按顺序映射到resultList里,这样就鞥和Promise.all里的任务列表一一对应起来。
3、Promise.all()内的参数要使用对象,更准确的说法就是实例;promise数组中所有的promise实例都变为resolve的时候,该方法才会返回,并将所有结果传递results数组中,promise数组中任何一个promise为reject的话,则整个promise.all调用会立即终止,并返回一个reject的新的promise对象
1 Promise.all([ 2 axios1, 3 axios2, 4 axios3 5 ]).then(res => { 6 console.log(res) 7 }).catch(err => { 8 console.log(err) 9 })
// axios1、axios2、axios3是三个不同的请求,带的有各自的参数,统一在then中处理回调