resolve
是在 Promise 构造函数中使用的一个参数,它是一个函数。当你创建一个新的 Promise 对象时,你会提供一个执行器函数,该函数接收两个参数:resolve
和 reject
。
resolve
: 这是一个函数,当 Promise 成功完成时调用它,并且可以将结果作为参数传递。调用resolve
会使 Promise 从 “pending” 状态转为 “fulfilled” 状态,并设置 Promise 的结果值。reject
: 这也是一个函数,当 Promise 失败时调用它,并且可以将错误或失败的原因作为参数传递。调用reject
会使 Promise 从 “pending” 状态转为 “rejected” 状态,并设置 Promise 的拒绝原因。
下面是一个基本的 Promise 示例,展示了如何使用 resolve
和 reject
:
const myPromise = new Promise((resolve, reject) => {
const success = true; // 这里只是一个模拟条件
if (success) {
resolve('Promise was successful!'); // 成功时调用
} else {
reject('Promise failed.'); // 失败时调用
}
});
myPromise.then(result => {
console.log(result); // 输出 'Promise was successful!'
}).catch(error => {
console.error(error); // 如果 Promise 失败,则输出错误
});
在这个示例中:
- 如果
success
为true
,则调用resolve
,并将结果传递给随后的.then
方法。 - 如果
success
为false
,则调用reject
,并将错误传递给随后的.catch
方法。
当你使用 Promise 来处理异步操作时,resolve
和 reject
允许你控制 Promise 的完成或失败,并将结果或错误传递给链中后续的 .then
或 .catch
处理程序。