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的使用方法.是不是非常的简单?