Promise.all中对于reject的处理方法

原创 Fly丶 教程 js 56阅读 21 天前 举报

写了个小爬虫,用axios.all同时请求多个页面时,国内网络的原因很容易就超时然后reject了,佛系resolve不可取啊,然后想到可以实现一个“重发失败请求”的功能。

Promise.all(requestPromises).then(...).catch(...) 会在所有requestPromises都resolve时才会进then方法,并且把所有结果以一个数组返回。只要有一个失败,就会进catch。如果在单个请求中定义了catch方法,那么就不会进Promise.all的catch方法。因此,可以在单个的catch中将失败的promise放入一个list,待一轮请求完成后,再去请求失败的请求。

前端全栈学习交流圈:866109386
面向1-3经验年前端开发人员
帮助突破技术瓶颈,提升思维能力

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复