Promise 用法解析

2017-02-27  本文已影响75人  不是鱿鱼

Promise 在ES6中可以直接使用:

var promise = new Promise(function(resolve, reject) {
  // 异步操作的代码

  if (/* 异步操作成功 */){
    resolve(value);
  } else {
    reject(error);
  }
});

Promise构造函数的参数是一个函数,这个参数函数的两个参resolve和reject也是JavaScript提供,可以认为是固定写法。

当执行成功,Promise对象的状态会从未完成(Pending)变为成功(Resolved),这一步就是resolve函数所做的事情;反之执行reject函数,将Promise对象的状态变为失败(Rejected),将错误作为参数传出去。

Promise实例生成后,可以用then方法分别指定Resolved和Rejected状态的回调函数:

promise.then(function(value){
  //成功回调
  },function(error){
  //失败回调 一般使用 console.error(error)
  })

指定多个回调函数的时候,依次在后面添加. then()即可,失败回调只写在最后一个.then回调里。

上一篇 下一篇

猜你喜欢

热点阅读