JavaScript:Promise 的概念
亲爱的读者,这篇文章讲的是JavaScript中一个非常有用且重要的概念。我认为每个初学者在开发任何项目时都应该具备这个基本知识。
什么是承诺
在JavaScript中,Promise
是一个非常重要的概念。Promise对象代表异步操作的最终completion
结果及其结果值。failure
👉🏻 Promise是一个代理,每当生成一个 Promise 时,它都有一个未知的值
。 👉🏻 这允许控制器连接异步操作的最终成功值或失败原因。
👉🏻 这允许异步方法返回与同步方法相同的值。 👉🏻 异步方法不是立即
返回最终值,而是返回一个承诺,在未来的特定时间点提供该值。
基本语法
Promise 是一个构造函数,所以我们需要一个构造函数来new
创建一个 Promise。它接受一个函数作为参数,并带有两个形参:resolve
和reject
。
语法通常如下:
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");
}
});
在代码片段中,responseFromServer代表来自服务器的响应。
如果responseFromServer为true,resolve
则将调用该方法以成功完成承诺并返回字符串作为其参数。
(一般返回数据)
同样,如果responseFromServer为false,承诺将失败并调用该reject
方法。