📅  最后修改于: 2023-12-03 15:37:06.911000             🧑  作者: Mango
在 JavaScript 中,有三种主要的反应状态,也称为 Promise 反应状态。这些状态包括:
这是 Promise 对象的初始状态。当一个 Promise 对象被创建时,它处于 Pending 状态。这意味着它正在等待一个异步操作(例如,从服务器获取数据)完成。
如果 Promise 对象成功地执行了它的异步操作,则它会进入 Fulfilled 状态。这通常意味着 Promise 对象已经完成了它被期望做的事情,并且它提供了一个返回值(例如从服务器获取的数据)。
如果 Promise 对象在执行异步操作时发生了错误,则它会进入 Rejected 状态。这意味着 Promise 对象无法提供期望的结果,并且它将提供一个错误对象,以表示发生了什么错误。
const promise = new Promise((resolve, reject) => {
// 延迟 1 秒执行
setTimeout(() => {
const random = Math.floor(Math.random() * 10)
if (random < 5) {
resolve('随机数小于 5')
} else {
reject(new Error('随机数大于等于 5'))
}
}, 1000)
})
promise.then((value) => {
console.log(value) // 随机数小于 5
}).catch((error) => {
console.error(error) // Error: 随机数大于等于 5
})
以上示例中的 Promise 对象返回了一个随机数,并根据随机数是否小于 5 来决定是 resolve 还是 reject。在 then() 函数中,我们打印了成功的返回值,而在 catch() 函数中,我们打印了错误的对象。