欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > Node.js异步编程——Promise对象实现

Node.js异步编程——Promise对象实现

2025/6/6 9:23:17 来源:https://blog.csdn.net/CoderZZ_2024/article/details/147909147  浏览:    关键词:Node.js异步编程——Promise对象实现

一、Promise对象简介

Promise是一个在ES6语法中引进的专门用于处理异步操作的对。

Promise代表的含义是异步操作的结果,即一个在现在、未来或永远不可用的值,通过Promise可以判断异步操作的顺利完成或失败。

在异步编程场景中,一般将Promise对象作为函数的返回结果,我们可以将Promise对象与回调函数进行绑定,将回调函数传给Promise对象。比起在指定的函数中调用回调函数,Promise对象提供了更加灵活的异步编程方法。

Promise对象在代码运行期间主要呈现三种状态:

Pending:任务处于初始状态。

Fulfilled:任务执行成功,结果可用。

Rejected:任务执行失败,并显示错误原因。

Promise对象的大致语法如下:

let promise_obj = new Promise((resolve, reject) => {// 执行异步操作if (isSuccessful) {resolve("operation successful");// 切换到fulfilled状态} else {reject("operation failed");// 切换到rejected状态}
});

代码样例:判断一个数是否为偶数

let checkEven = new Promise((resolve, reject) => {let number = 6;if (number % 2 === 0) {resolve("The number is even!");}else {reject("The number is odd!");}
});
checkEven.then((message) => console.log(message)) // On success.catch((error) => console.error(error)); // On failure

运行结果:

The number is even!

二、创建Promise对象的方法

创建Promise对象时,需要将executor函数传递给Promise构造函数,该构造函数包含异步操作,并定义了异步操作执行成功和执行失败时对应的动作。

resolve和reject是构造Promise对象时默认要传入的两个参数。

Promise构造函数的语法:

let promise = new Promise(executor_function(resolve, reject) {// async operation code
});

Promise构造函数的匿名函数写法:

let promise = new Promise((resolve, reject) => {// async operation code
});

三、Promise对象的状态切换

Promise对象的状态切换遵循严格的生命周期规则,pending是初始状态,表示异步操作尚未完成。当异步操作执行成功时,状态变为fulfilled,此时会调用resolve函数,并且Promise.then()方法中的成功回调会被触发。当异步操作执行失败时,状态变为rejected,此时会调用reject函数,Promise.then()或Promise.catch()中的错误处理回调会被触发。

1.初始状态

构造Promise对象时的状态,此时状态为pending࿰

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词