Promise通常用来处理异步操作,将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。
Promise提供一个构造函数来生成promise实例,promise实例生成以后,可以用then方法分别指定resolve方法和reject方法的回调函数改变自身状态,从而触发then方法绑定的回调函数。
var promise = new Promise(function (resolve, reject) {
//此处进行异步操作,例如发送ajax请求
if (异步完成) {
resolve(成功数据);
} else {
reject(错误信息)
}
});
promise.then(function (data) {
//data为异步操作成功resolve回调的成功数据
}, function (error) {
//error为异步操作错误reject回调的错误信息
});