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) // 不会执行这里的代码
})