`

promise 讲解

    博客分类:
  • js
阅读更多
function add(num) {
      return new Promise((resolve, reject) => {
        console.log(num + ' + ' + num + ' = ' + (num + num))
        if (num > 10) {
          setTimeout(resolve(num + num), 200)
        } else {
          setTimeout(reject, 200, 'error')
        }
      })
    }
    function dec(num) {
      return new Promise((resolve, reject) => {
        console.log(num + ' - ' + 10 + ' = ' + (num - 10))
        setTimeout(resolve, 150, num - 10)
      })
    }
    function ride(num) {
      return new Promise((resolve, reject) => {
        console.log(num + ' * ' + num + ' = ' + (num * num))
        setTimeout(resolve, 100, num * num)
      })
    }
    function exc(num) {
      return new Promise((resolve, reject) => {
        console.log(num + ' / ' + 10 + ' = ' + (num / 10))
        setTimeout(resolve, 50)
      })
    }

    function start() {
      var sum = new Promise((resolve, reject) => {
        console.log('开始:')
        resolve(11)
      })
      sum.then(add)
        .then(dec)
        .then(ride)
        .then(exc)
        .catch(err => {
          console.log(err)
        })
    }

 一。promise理论:promise分为三种状态:进行中、成功( resolve )、失败( reject )。

二。用途: ajax请求同步执行(只有前面执行完了,才会执行后面的,解决以前回调函数难以维护的问题。)等。或者是需要前面执行完之后才能执行后面的函数这一类的问题。而且只要前面有一处没有执行成功,后面就不再执行。

三。具体理论参考:阮一峰的es6标准入门。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics