1.Promise的含义
- 异步编程的解决方案,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。
- Promise 是一个对象,从它可以获取异步操作的消息
- Promise对象有以下两个特点:
1.对象的状态不受外界影响。
有三种状态: pending(进行中)、fulfilled(已成功)和rejected(已失败)。只有异步操作的结果可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。
2.一旦状态改变,就不会再变,任何时候都可以得到这个结果。
两种可能:从pending =》 fulfilled 或pending =》 rejected。
2.基本用法
const promise = new Promise(function(resolve, reject) {
// ... some code
if (/* 异步操作成功 */){
resolve(value);
} else {
reject(error);
}
});
- Promise构造函数接收一个函数作为参数,该函数的两个参数分别是resolve和reject。
- resolve和reject是两个函数。
- resolve函数的作用是将 Promise 对象的状态从“未成功”变为“成功”,并将异步操作的结果作为参数传递出去。
- reject函数的作用是将 Promise 对象的状态从“未完成”变为“失败”,并将异步操作报的错误作为参数传递出去。