📅  最后修改于: 2023-12-03 15:33:11.309000             🧑  作者: Mango
在 Node.js 中,Promise 是用于异步编程的重要概念之一。 Promise 是一个用于异步操作的对象,它可以用来处理异步操作的成功和失败状态。
Promise 对象有一个 then 方法,它是 Promise 最基本的方法之一。then 方法用于处理异步操作的成功和失败状态。
下面是一个 Promise 的基本用例,展示了 then 方法的使用:
new Promise((resolve, reject) => {
// 异步操作
setTimeout(() => {
resolve('成功');
}, 1000);
}).then((response) => {
console.log(response); // 成功
}).catch((error) => {
console.error(error);
});
在这个示例中,我们创建了一个 Promise 对象,并在其中执行了一个异步操作,异步操作是一个定时器,等待 1 秒钟后返回成功结果。然后我们在 Promise 对象的 then 方法中处理了这个异步操作的成功结果。
Promise 还可以进行链式调用,称为 chaining。在 chaining 中,then 方法返回的是一个新的 Promise 对象,这个新的 Promise 对象可以继续调用 then 方法。
下面是一个链式调用的例子:
new Promise((resolve, reject) => {
// 异步操作
setTimeout(() => {
resolve('成功');
}, 1000);
}).then((response) => {
console.log('第一次成功:', response); // 成功
return new Promise((resolve, reject) => {
// 新的异步操作
setTimeout(() => {
resolve('成功2');
}, 1000);
});
}).then((response) => {
console.log('第二次成功:', response); // 成功2
}).catch((error) => {
console.error(error);
});
在这个例子中,我们在第一个 then 方法中创建了一个新的 Promise 对象,并在新的 Promise 对象中进行了一个新的异步操作。然后我们在第二个 then 方法中处理了新的异步操作的成功结果。
这篇文章介绍了 Node.js 中 Promise 的 then 方法,以及 Promise 的 chaining 用法。通过使用 then 方法和 chaining,我们可以更好地处理异步操作的成功和失败状态。