基本概念
‘promise’是一个代表未来某个时间点异步操作的最终完成(或失败)及其结果值的对象。它有三种状态
pending(待定):初始状态,异步操作尚未完成
Fulfilled(已完成):异步操作成功完成,并返回结果
Rejected(已拒绝)异步操作失败,并返回错误原因
当一个’promise’对象被创建时,它接收一个执行函数,执行函数包含两个参数’resolve’和’reject’,你可以在异步操作完成后调用这两个参数中的一个,来通知‘Promise’的状态变化
一旦‘Promise’状态从‘Pending’变为’Fulfilled’或’Rejected’,它就会保持这个状态,并且不会再发生变化
resolve和reject的作用
‘resolve’:用来将‘Promise’状态从’pending’改为’fulfilled’(已完成),并将异步操作的结果作为参数传递,成功完成的结果可以在后续的’.then()'方法中处理
const promise = new Promise<number>((resolve, reject) => {
// 假设这是一个异步操作,如网络请求或定时器
setTimeout(() => {
resolve(42); // 成功后调用 resolve,传递结果
}, 1000);
});
promise.then(result => {
console.log(result); // 输出: 42
});
在这个例子中,‘resolve(42)’将‘Promise’的状态设为’fulfilled’