一、resolve 的核心作用
resolve 是 Promise 执行器函数的第一个参数,它的核心使命是:
- 将 Promise 的状态从 pending(进行中) 改为 fulfilled(已成功)(状态一旦改变就不可逆);
- 传递异步操作的 "成功结果",这个结果会被
then方法的回调函数接收。
简单来说,resolve 就是给 Promise "兑现成功的承诺",并把结果交出去。
二、resolve 的基础用法
1. 传递普通值(最常用)
异步操作完成后,调用 resolve 并传入字符串、数字、对象等普通值,then 会接收到这个值:
javascript
运行
// 模拟异步获取用户信息
const getUserInfo = new Promise((resolve, reject) => {
// 模拟接口请求(异步操作)
setTimeout(() => {
// 异步操作成功,调用 resolve 传递结果
resolve({
id: 1,
name: "张三",
age: 25
});
}, 1000);
});
// then 接收 resolve 传递的结果
getUserInfo.then(user => {
console.log("获取用户信息成功:", user);
// 输出:获取用户信息成功:{ id: 1, name: '张三', age: 25 }
});