码迷,mamicode.com
首页 > 其他好文 > 详细

promise 的用法及all race 方法的说明

时间:2020-10-19 22:59:46      阅读:33      评论:0      收藏:0      [点我收藏+]

标签:结果   bsp   reason   eject   nbsp   方式   成功   说明   组成   

这两个方法,都是并行执行多个异步操作。而不同的是,all方式遵循“谁跑得慢,以谁为准执行回调”,而race遵循的是“谁跑的快,以谁为准执行回调”

以下为两个异步函数

    

    function yibu1() {
      var p1 = new Promise((resolve, reject) => {
         setTimeout(() => {
            resolve(‘第一个异步执行成功‘)
         },3000)
       })
   return p1
   }

   function yibu2() {
      var p2 = new Promise((resolve, reject) => {
         setTimeout(() => {
            resolve(‘第二个异步执行成功‘)
         },2000)
      })
   return p2
   }

 当使用all实现并行执行时,结果如下

Promise.all([yibu1(), yibu2()]).then(function (res) {
            console.log(res)
        }).catch(function (reason) {
            console.log(reason)
        })
输出结果为(["第一个异步执行成功","第二个异步执行成功"])

返回的是每个异步函数执行回调后的结果组成的数组

 

当使用race实现并行执行时,结果如下

Promise.race([yibu1(), yibu2()]).then(function (res) {
            console.log(res)
        }).catch(function (reason) {
            console.log(reason)
        })
输出结果为("第二个异步执行成功")

promise 的用法及all race 方法的说明

标签:结果   bsp   reason   eject   nbsp   方式   成功   说明   组成   

原文地址:https://www.cnblogs.com/sq652366/p/13841466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!