用axios.all发送多个发请求的时候,什么时候会进入.then方法?
Axios.all(\[request1, request2, request3\])
.then( Axios.spread((res1, res2, res3) => {
console.log('全部加载完成')
})).catch(err => {
console.log(err.response)
});
用axios.all发送多个发请求的时候,什么时候会进入.then方法?
Axios.all(\[request1, request2, request3\])
.then( Axios.spread((res1, res2, res3) => {
console.log('全部加载完成')
})).catch(err => {
console.log(err.response)
});
then接受两个回调函数,一个成功success,一个失败fail
axios.all 如果全部成功走success,如果有一个失败,则立刻走fail。
即全部成功或者其中某一个失败时立刻决议。
可以做个测试,让中途某个Promise失败。
输出:
这里3个Promise,分别计时1s,2s,3s决议,其中第二个返回失败,可以看到axios.all的then中,失败回调函数被触发了。并且在第三个promise决议之前就触发。
所以就是中途某个Promise失败就会走失败回调,若完全成功则走成功回调。