美文网首页
Promise.all和Promise.race的区别和使用

Promise.all和Promise.race的区别和使用

作者: 柚子多肉 | 来源:发表于2019-08-15 11:42 被阅读0次

    1. Promise.all

    Promise.all可以将多个实例组装成一个新的实例,成功的时候返回一个成功数组,失败的时候则返回最先被reject失败状态的值

    比如当一个页面需要在很多个模块的数据都返回回来时才正常显示,否则loading

    Promise.all

    比如当数组里的P1,P2都执行完成时,页面才显示。

    值得注意的是,返回的数组结果顺序不会改变,即使P2的返回要比P1的返回快,顺序依然是P1,P2

    2. Promise.race

    race是赛跑的意思,也就是说Promise.race([p1, p2, p3])里面的结果哪个获取的快,就返回哪个结果,不管结果本身是成功还是失败

    Promise.race

    一般用于和定时器绑定,比如将一个请求和一个三秒的定时器包装成Promise实例,加入到race队列中,请求三秒中还没有回应时,给用户一些提示或一些相应的操作。

    相关文章

      网友评论

          本文标题:Promise.all和Promise.race的区别和使用

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