promise

作者: 夜子子夜 | 来源:发表于2017-02-15 15:52 被阅读0次

    初识Promise


    var promiseCount = 0

    function testPromise() {

       var thisPromiseCount = ++promiseCount

       var log = 0

       log = '开始(同步代码开始)'

      console.log(log)

      // 我们创建一个新的promise: 然后用'result'字符串完成这个promise (3秒后)

      var p1 = new Promise(function (resolve, reject) {

      // 完成函数带着完成(resolve)或拒绝(reject)promise的能力被执行

      log = thisPromiseCount + '' + 'Promise开始(异步代码开始)'

      console.log(log)

      // 这只是个创建异步完成的示例

       window.setTimeout(function () {

           // 我们满足(fullfil)了这个promise!

           // console.log('set')

           resolve(thisPromiseCount)

           }, Math.random() * 2000 + 1000)

    });

    // 定义当promise被满足时应做什么

    p1.then(function (val) {

       // 输出一段信息和一个值

       log = val + '' + 'Promise被满足了(异步代码结束)'

       console.log(log)

    });

    log = thisPromiseCount + '' + '建立了Promise(同步代码结束)'

    console.log(log)

    }

    上面是从MDN改写的例子,它的结果是

    最后一条是3秒后才跳出来的。即使没有定时器,p1.then(function (val)也是最后调用的。

    相关文章

      网友评论

          本文标题:promise

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