用axios.all发送多个发请求的时候,什么时候会进入.then方法?
用axios.all发送多个发请求的时候,什么时候会进入.then方法?
Axios.all(\[request1, request2, request3\])
.then( Axios.spread((res1, res2, res3) => {
console.log('全部加载完成')
})).catch(err => {
console.log(err.response)
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
then接受两个回调函数,一个成功success,一个失败fail
axios.all 如果全部成功走success,如果有一个失败,则立刻走fail。
即全部成功或者其中某一个失败时立刻决议。
可以做个测试,让中途某个Promise失败。
输出:
这里3个Promise,分别计时1s,2s,3s决议,其中第二个返回失败,可以看到axios.all的then中,失败回调函数被触发了。并且在第三个promise决议之前就触发。
所以就是中途某个Promise失败就会走失败回调,若完全成功则走成功回调。
多个请求都完成(成功或失败)的时候
request1
,request2
,requset3
都请求成功返回的时候,就会进入then()
,如果请求失败则进入
catch()
官网文档 并发