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