美文网首页
当Promise.all 其中一个挂掉的时候

当Promise.all 其中一个挂掉的时候

作者: 王善良_ | 来源:发表于2019-12-30 14:08 被阅读0次

    Promise.all 可以多个promise请求并发,但是有个缺点,就是其中一个请求挂掉的话,就不会执行then方法,也就是说,一个挂掉等于全部挂掉,
    这个时候得用Promise.allSettled来代替Promise.all,这个方法能不管你请求挂没挂,或者有几个挂了,都给你返回。

    Promise.allSettled 的用法跟Promise.all一样,也是传入一个promise数组,但是 .then的回调函数的 参数不一样 promise.all返回的是一个数组,里面每个项都是按照你传入的promise的先后顺序执行的结果,Promise.allSettled返回的则是一个对象数组
    这个对象数组每一个item,都有两个属性,一个status 值为 "fulfilled" 或者 "rejected" ,另一个value才是你要的执行结果,所以这里我们还得判断一下这个status是否为fulfilled,再去改成我们想要的数据结构

    相关文章

      网友评论

          本文标题:当Promise.all 其中一个挂掉的时候

          本文链接:https://www.haomeiwen.com/subject/qtqmoctx.html