• Home
  • Archives
  • About
  • Github
  • zh


ECMAScript 6 之Promise

Promise

Promise与上一章的Generator一样,也是异步编程的一种解决方案.

在 jQuery,Angular都能找到相似的处理异步的方法.

基本使用


//首先先实例化一个Promise
var promise = new Promise(function(resolve, reject) {
  //Promise会有两个参数 resolve, reject,一个代表成功,一个代表失败

  if (/* true or false */){
    resolve(value); //成功,会执行promise.then的第一个回调
  } else {
    reject(error); //失败,会执行promise.then的第二个回调
  }

});


promise.then(function(value){

  //当上面函数运行resolve()的时候,会走这里
  //并且可以接收到 Promise函数里resolve传入的参数

},function(error){

  //当上面函数运行reject()的时候,会走这里
  //并且可以接收到 Promise函数里reject传入的参数

}).catch(function(error){

  //当then的两个回调函数都有报错的时候,如果加上了catch,
  //可以在这里接受到报错的对象,
  //且不会导致代码因为报错,停止执行

})

这就是一个完整的Promise的使用方法.是不是非常的简单?

微信公众号

本文链接:

https://alili.tech/archive/91140f15/

# 最新文章