ES6 Promise的状态是什么

ES6 Promise的状态是什么

在本文中,我们将讨论与Promise相关的基本细节,以及ES6中Promise的各种状态。

首先,让我们了解一些与Promise相关的基本细节。

Promise:

  • Promise是用于处理所有异步操作的对象(显然是在来自某些资源的异步数据上执行的)。
  • 它与现实生活中的承诺有些相互关联。它实际上是一个基于未来执行的场景。
  • Promise可能有两种结果:将来可能实现,也可能不实现。
  • 这就是我们的Promise是如何执行的,无论何时我们定义一个Promise,它要么随着时间解决,要么被拒绝。
  • 我们可以使用以下语法声明一个Promise。

语法:

以下语法可用于声明一个Promise:

// This is how we could initialize
// or set up our promise object
let promise_object = new Promise();

承诺的状态:

ES6 Promise的状态是什么

  • 如上所示,有三个状态的Promise:已解决(Resolved)、已拒绝(Reject)、待定(Pending)。
  • 待定(Pending)状态是初始状态,在这个状态下,Promise既不会成功也不会失败。
  • 已解决(Resolved)状态是另一个状态,表示Promise已成功执行。
  • 已拒绝(Reject)状态是Promise执行失败的最后阶段。
  • 为了表示Promise的状态,我们可以遵循一种特定的语法。

语法:

可以使用以下语法来设置Promise的状态:

// At a time either a promise gets resolved
// or reject but not both.
let promise_object = new Promise(resolve, reject);

现在,我们已经了解了与promise相关的基本细节,包括promise的状态,现在是时候举一些示例来更好地理解所有这些了。

示例1:

  • 在这个示例中,我们将按照之前看到的语法创建一个promise。
  • 在声明promise的同时,我们将首先使用resolve()状态来展示promise如何成功传递到resolved方法中的数据。
  • 之后,我们将使用.then()方法在控制台打印出我们的数据。

Javascript

let promise = new Promise((resolve, reject) => {
  resolve("Hello World.... This is a Promise");
})
 
  // After promise getting successfully
  // executed, data gets printed
  .then((data) => console.log(data))
   
  // If any error comes in between then
  // it gets printed with the help of
  // catch block
  .catch((error) => console.log(error));

输出:

Hello World.... This is a Promise

示例2:

  • 在这个示例中,我们也将按照之前所看到的语法创建一个promise。
  • 除了声明promises之外,我们还将使用reject()方法来展示在执行特定内容失败的情况下如何使用promises。
  • 之后,我们将使用.catch()方法在控制台上显示任何错误消息。

Javascript

let promise = new Promise((resolve, reject) => {
  reject("Oops..!!! An Error Occurred");
})
 
  // Here .then() method has no significance
  // since it is being resolved by catch block
  .then((data) => console.log(data))
 
  // Error message will be displayed by
  // this catch() block
  .catch((error) => console.log(error));

输出:

Oops..!!! An Error Occurred

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程