JavaScript:Promise 的概念

2025-05-27

JavaScript:Promise 的概念

亲爱的读者,这篇文章讲的是JavaScript中一个非常有用且重要的概念。我认为每个初学者在开发任何项目时都应该具备这个基本知识。

什么是承诺

在JavaScript中,Promise是一个非常重要的概念。Promise对象代表异步操作最终completion结果及其结果值failure

👉🏻 Promise是一个代理,每当生成一个 Promise 时,它​​都有一个未知的值
。 👉🏻 这允许控制器连接异步操作的最终成功值或失败原因。
👉🏻 这允许异步方法返回与同步方法相同的值。 👉🏻 异步方法不是立即
返回最终值,而是返回一个承诺,在未来的特定时间点提供该值

基本语法

Promise 是一个构造函数,所以我们需要一个构造函数new创建一个 Promise。它接受一个函数作为参数,并带有两个形参resolvereject
语法通常如下:

const myPromise = new Promise((resolve, reject) => { } ) ;

承诺的状态

承诺有三种状态:

i) pending:初始状态,既不是成功也不是不成功

ii) fulfilled:表示操作已成功完成

iii) rejected:表示操作失败

解析参数

resolve当我们希望承诺成功时使用该参数。

拒绝参数

reject当我们想要捕获失败时使用它。

以下是Promise的一个例子

const makeServerRequest = new Promise((resolve, reject) => {
  let responseFromServer;

  if (responseFromServer) {
    resolve("We got the Data");
  } else {
    reject("Data not Found");
  }
});
Enter fullscreen mode Exit fullscreen mode

在代码片段中,responseFromServer代表来自服务器的响应。

如果responseFromServertrueresolve则将调用该方法以成功完成承诺并返回字符串作为其参数。

(一般返回数据)

同样,如果responseFromServerfalse,承诺将失败并调用该reject方法。

(通常它会捕获错误)。
文章来源:https://dev.to/swarnaliroy94/javascript-concept-of-promise-3ijb
PREV
日常 JavaScript 开发中 9 个实用代码片段 || 第一部分
NEXT
3 种无需 Math.random() 即可生成随机数的神奇方法