Promise.resolve 静态方法将给定值“解析”为 Promise。
如果值是 Promise,则返回该 Promise;如果值是 thenable,返回的 Promise 会“跟随”这个 thanable 的对象,采用它的最终状态;否则,返回的 promise 将以此值完成。
此函数将类 promise 对象的多层嵌套展平。
注意:不要在解析为自身的 thenable 上调用 Promise.resolve,这将导致无限递归,因为它试图展平无限嵌套的 promise。
let thenable = {
then: (resolve, reject) => {
resolve(thenable)
}
}
Promise.resolve(thenable) // 这会造成一个死循环!!!
示例
const promise1 = Promise.resolve(123)
promise1.then((value) => {
console.log(value) //123
})
参考:Promise.resolve() - JavaScript | MDN (mozilla.org)
标签:resolve,展平,JS,thenable,Promise,promise From: https://www.cnblogs.com/zjy4fun/p/17484119.html