推荐答案
// 使用 Promise.resolve 创建一个立即 resolved 的 Promise
const resolvedPromise = Promise.resolve('Resolved value');
// 处理 resolved 的 Promise
resolvedPromise.then((value) => {
console.log(value); // 输出: Resolved value
});本题详细解读
什么是 Promise.resolve?
Promise.resolve 是 JavaScript 中 Promise 对象的一个静态方法,用于创建一个立即 resolved(已完成)的 Promise 对象。它可以接受一个参数,这个参数将作为 Promise 的 resolved 值。
使用场景
- 快速创建一个 resolved 的 Promise:当你需要一个已经 resolved 的 Promise 时,可以使用
Promise.resolve来快速创建。 - 将非 Promise 值转换为 Promise:如果你有一个值,但不确定它是否是一个 Promise,可以使用
Promise.resolve来确保它被包装成一个 Promise。
示例代码解析
const resolvedPromise = Promise.resolve('Resolved value');Promise.resolve('Resolved value')创建了一个立即 resolved 的 Promise,其 resolved 值为'Resolved value'。
resolvedPromise.then((value) => {
console.log(value); // 输出: Resolved value
});- 使用
.then()方法来处理 resolved 的 Promise。当 Promise 被 resolved 时,.then()中的回调函数会被调用,并且传入 resolved 的值'Resolved value'。
其他用法
Promise.resolve 还可以用于将 thenable 对象(即具有 .then 方法的对象)转换为 Promise:
// www.javascriptcn.com code example
const thenable = {
then: function(resolve, reject) {
resolve('Resolved from thenable');
}
};
const promiseFromThenable = Promise.resolve(thenable);
promiseFromThenable.then((value) => {
console.log(value); // 输出: Resolved from thenable
});在这个例子中,Promise.resolve 会将 thenable 对象转换为一个 Promise,并调用其 .then 方法。