promise.resolve() 会将普通值包装成一个已解决(resolved)的 promise 对象。调用时直接传入目标值,返回的 promise 状态即为 fulfilled,且该值作为 resolve 回调的参数可用。

Promise.resolve() 遇到非 Promise 值会返回什么
它会立即返回一个处于 fulfilled 状态的 Promise,内部存储的值就是传入的那个普通值。这意味着后续通过 .then() 链式调用时,能直接拿到这个原始数据,无需等待异步操作。

const p = Promise.resolve(42); p.then(val => console.log(val)); // 输出: 42 console.log(p instanceof Promise); // 输出: true
Promise.resolve() 遇到 Thenable 对象会如何处理
如果传入的对象拥有 then 方法(即 Thenable),它不会直接将其包裹,而是尝试调用其 then 方法。此时返回的 Promise 状态取决于该 Thenable 对象的执行结果,可能变为 pending、fulfilled 或 rejected。
立即学习“Java免费学习笔记(深入)”;

const thenable = {
then(resolve) { resolve('async'); }
};
Promise.resolve(thenable).then(val => console.log(val)); // 输出: async基于 Promise.resolve(undefined) 的具体问题
当传入 undefined 时,返回的 Promise 会被 resolved 为 undefined。这在初始化 Promise 链或占位时非常有用,确保后续 .then() 能正常接收并处理空值。


















