📜  反应状态范围 - Javascript (1)

📅  最后修改于: 2023-12-03 15:37:06.911000             🧑  作者: Mango

反应状态范围 - JavaScript

在 JavaScript 中,有三种主要的反应状态,也称为 Promise 反应状态。这些状态包括:

  • Pending
  • Fulfilled
  • Rejected
1. Pending

这是 Promise 对象的初始状态。当一个 Promise 对象被创建时,它处于 Pending 状态。这意味着它正在等待一个异步操作(例如,从服务器获取数据)完成。

2. Fulfilled

如果 Promise 对象成功地执行了它的异步操作,则它会进入 Fulfilled 状态。这通常意味着 Promise 对象已经完成了它被期望做的事情,并且它提供了一个返回值(例如从服务器获取的数据)。

3. Rejected

如果 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() 函数中,我们打印了错误的对象。