美文网首页
promise学习

promise学习

作者: hhg121 | 来源:发表于2017-09-14 23:38 被阅读7次

首先,我们来看一个常见的例子

function 摇色子() {
  setTimeout(function () {
    console.log('开始摇')
    var random = Math.random()
    if (random > 0.5) {
      return '大'
    } else {
      return '小'
    }
  }, 1000)
}
var result = 摇色子()
console.log(result)

我们打开控制台,会看到首先输出的是undefined,然后过了一秒钟输出’开始摇‘,这就是常见的异步例子,针对异步这种情况,我们一般使用回调的方法去拿到结果。

function 摇色子(callback) {
  setTimeout(function () {
    console.log('开始摇')
    var random = Math.random()
    if (random > 0.5) {
      callback('大')
      return '大'
    } else {
      callback('小')
      return '小'
    }
  }, 1000)
}
var result = 摇色子(function(data){
  console.log(data)
})
console.log(result)

结果是undefined,开始摇,大。接下来我们使用promise去接受异步的结果。

console.log(1)
function 买大() {
  console.log(2)
  return new Promise(function (resolve, reject) {  //
    console.log(3)
    setTimeout(function () {
      console.log(4)
      var random = Math.random()
      console.log(random)
      if (random > 0.5) {
        resolve()
      } else {
        reject()
      }
    }, 1000)
  })
}
console.log(5)
var aPromise = 买大()
console.log(6)
aPromise.then(function () {
  console.log(7)
  console.log('win')
}, function () {
  console.log(7)
  console.log('lose')
})

相关文章

  • ES6异步:Promise

    #Promise迷你书通过 ES6 Promise 和 jQuery Deferred 的异同学习 Promise

  • Node 学习(二)

    Promise学习 Promise含义 容器,保存异步操作的结果对象,获取异步操作的消息 Promise对象特点 ...

  • Promise笔记

    Promise学习(上): 资料: JavaScript Promise迷你书 原著:azu / 翻译:liubi...

  • ES9(二) —— Promise.finally

    目录 Promise是如何“兜底”操作的? 想了解全部的Promise? ES6-ES10学习版图 Promise...

  • EventLoop事件循环中的 MacroTask与 Micro

    问题来源 在学习Promise时在stackoverflow上看到一个解释Promise运行顺序回答。之前在学习异...

  • Promise

    es6中有个特别的对象Promise,今天我们就来学习它,了解它。 Promise含义 Promise 是异步编程...

  • 实现一个Promise

    实现一个Promise,来学习一下Promise的源码思想。Promise有三种状态,分别是pending,ful...

  • promise学习

    Promise定义 Promise是异步编程的一种解决方案,它有三种状态,分别是pending-进行中、resol...

  • 学习promise

    概念学习 Promise 对象用于延迟(deferred) 计算和异步(asynchronous ) 计算.。一个...

  • promise学习

    首先,我们来看一个常见的例子 我们打开控制台,会看到首先输出的是undefined,然后过了一秒钟输出’开始摇‘,...

网友评论

      本文标题:promise学习

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