Promise 并行和串行理解

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-29 16:52   321   0

promise主要是针对异步请求,这里也主要是针对异步请求来展开

并行:多个异步请求同时进行

串行:一个异步请求完了之后在进行下一个请求

首先定义一些promise实例

并行:

      var promises = function () {
        return [1000, 2000, 3000].map(current => {
          return new Promise(function (resolve, reject) {
            setTimeout(() => {
              console.log(current)
            }, current)
          })
        })
      }

      Promise.all(promises()).then(() => {
        console.log('end')
      })

串行:

      var p = function () {
        return new Promise(function (resolve, reject) {
          setTimeout(() => {
            console.log('1000')
            resolve()
          }, 1000)
        })
      }
      var p1 = function () {
        return new Promise(function (resolve, reject) {
          setTimeout(() => {
            console.log('2000')
            resolve()
          }, 2000)
        })
      }
      var p2 = function () {
        return new Promise(function (resolve, reject) {
          setTimeout(() => {
            console.log('3000')
            resolve()
          }, 3000)
        })
      }


      p().then(() => {
        return p1()
      }).then(() => {
        return p2()
      }).then(() => {
        console.log('end')
      })

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP