ES6提供了原生的Promise构造函数,用来生成Promise实例。
下面代码创造了一个Promise实例。
var promise = new Promise(function(resolve, reject) {
// 异步操作的代码
if (/* 异步操作成功 */){
resolve(value);
} else {
reject(error);
}
});
resolve函数的作用是,将Promise对象的状态从“未完成”变为“成功”(即从Pending变为Resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;reject函数的作用是,将Promise对象的状态从“未完成”变为“失败”(即从Pending变为Rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。
Promise实例生成以后,可以用then方法分别指定Resolved状态和Reject状态的回调函数。
// then(success, error)
p.then(
function(value) {
// success
},
function(value) {
// failure
}
);
本文介绍了ES6中Promise的概念及其使用方法。Promise构造函数用于生成Promise实例,通过resolve和reject函数来改变实例的状态,从而实现对异步操作结果的处理。
673

被折叠的 条评论
为什么被折叠?



