Promise 并行和串行理解

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')
      })

 

你可能感兴趣的:(javascript,es6,promise)