返回
深入剖析 Promise 系列(4): then 方法在链式调用中判断 Promise 的返回
前端
2023-10-30 04:59:08
好的,您需要的文章如下:
Promise 的 then 方法
Promise 的 then 方法是一个非常有用的工具,它允许您在 Promise 完成或拒绝时执行回调函数。then 方法接受两个参数:
- 一个成功的回调函数,它将在 Promise 完成时执行。
- 一个失败的回调函数,它将在 Promise 拒绝时执行。
promise.then(function(result) {
// Promise 成功时执行的代码
}, function(error) {
// Promise 失败时执行的代码
});
then 方法的链式调用
then 方法可以被链式调用,这意味着您可以将多个 then 方法连接起来,以执行一系列操作。在链式调用中,每个 then 方法的返回值都会被传递给下一个 then 方法的成功回调函数作为参数。
promise.then(function(result) {
return anotherPromise(result);
}).then(function(result) {
// 处理另一个 Promise 的结果
});
判断 Promise 的返回
在链式调用中,then 方法的返回可以是另一个 Promise 对象,或者是一个值。如果 then 方法返回另一个 Promise 对象,那么下一个 then 方法的成功回调函数将在该 Promise 完成时执行。如果 then 方法返回一个值,那么下一个 then 方法的成功回调函数将立即执行,并将该值作为参数。
promise.then(function(result) {
if (result > 10) {
return Promise.resolve(result * 2);
} else {
return result;
}
}).then(function(result) {
// 处理结果
});
在上面的示例中,如果 result 大于 10,那么 then 方法将返回另一个 Promise 对象,该 Promise 对象将在 result 乘以 2 后完成。如果 result 小于或等于 10,那么 then 方法将直接返回 result 值。
结论
then 方法是 Promise 中一个非常有用的工具,它允许您在 Promise 完成或拒绝时执行回调函数。then 方法可以被链式调用,以便执行一系列操作。在链式调用中,then 方法的返回可以是另一个 Promise 对象,或者是一个值。如果 then 方法返回另一个 Promise 对象,那么下一个 then 方法的成功回调函数将在该 Promise 完成时执行。如果 then 方法返回一个值,那么下一个 then 方法的成功回调函数将立即执行,并将该值作为参数。