【JS基础】Promise.resolve()

发布时间 2023-06-15 21:07:20作者: zjy4fun

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)