ES6之Promise

1、promise有3种状态:pending(进行中)、resolved/fulfilled(已完成)、erjected(已失败)
2、promise状态的改变:promise状态的改变只有2种情况,一是从pending变为fulfilled,二是从pending变成rejected,并且状态一旦改变就无法再次改变
3、基本用法:ES6规定,Promise对象是一个构造函数,用来生成Promise实例
const promist = new Promise(function(resolve,reject){//或者可以使用箭头函数的形式
    if(/*异步操作成功*/){
        resolve(value);
    }else{
        reject(error);
    }
})

注意:
(1)实例化的Promise对象会立即执行
(2)resolve函数的作用是将Promise对象的状态从pending变为resolved,在异步操作成功时调用,并将异步操作的结果作为参数传递送出去
(3)rerject函数的作用是将Promise对象的状态从pending变为rejected,在异步操作失败时调用,并将异步操作报出的错误作为参数传递出去

4、Promise实例生成后,可以用then方法制定resolved和rejected状态的回调函数
promise.then(function(value){
    //success
},function(error){
    //failure
});

你可能感兴趣的:(ES6之Promise)