深入理解 JavaScript 中的 Promise、异步编程与代理
1. Promise 基础与链式调用
在 JavaScript 中,Promise 是改进异步编程的强大工具,它让开发者对异步操作拥有更多的控制权和可组合性。Promise 有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。一个 Promise 初始处于 pending 状态,成功执行后变为 fulfilled,失败则变为 rejected。
1.1 Promise 基本用法
以下是一个简单的 Promise 示例,展示了 reject 和 catch 的使用:
let p1 = new Promise(function(resolve, reject) {
reject(42);
});
p1.catch(function(value) {
// first fulfillment handler
console.log(value); // "42"
return value + 1;
}).then(function(value) {
// second fulfillment handler
console.log(value); // "43"
});
在这个例子中,executor 调用 reject(42),该值被传递给 Promise 的拒绝处理程序,在拒绝处理程序中返回 value + 1。即使这个返回值来自拒绝处理程序,它仍然会在链式调
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



