Skip to content

Promise

Promise 的 resolve 是不可逆的

Promise 的 resolve 是不可逆的时,意味着一旦 Promise 被 resolve,就无法再次更改其状态。这是 Promise 设计上的一个关键特性,确保了异步操作的可靠性和一致性。

js
// 创建一个 Promise,模拟异步操作
const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Success')
  }, 1000)
})

// 第一个 then 处理 resolve 的结果
promise.then((result) => {
  console.log('第一个 then:', result) // 输出:Success

  // 尝试再次 resolve 这个 Promise
  promise.then((innerResult) => {
    console.log('尝试再次 resolve:', innerResult) // 不会执行这里的代码
  })

  // 尝试在第一个 then 中 reject 这个 Promise
  // 这也不会改变 Promise 的状态
  reject('Error') // 不会执行这里的代码
}).catch((error) => {
  console.log('Catch 处理错误:', error) // 不会执行这里的代码
})

基于 MIT 许可发布