中文版序
前言
第 1章 Promise基础 1
1.1 Promise的生命周期 2
1.1.1 用then()分配处理器 4
1.1.2 用catch()分配拒绝处理器 7
1.1.3 用finally()分配解决处理器 8
1.1.4 为已确定的Promise分配处理器 12
1.1.5 处理器和微任务 13
1.2 创建未解决的Promise 16
1.3 创建已解决的Promise 22
1.3.1 使用Promise.resolve() 22
1.3.2 使用Promise.reject() 24
1.3.3 非Promise 的thenable 对象 24
1.4 小结 28
第 2 章 链式Promise 31
2.1 捕获错误 33
2.2 在链式Promise 中使用finally() 37
2.3 从链式Promise 中返回值 42
2.4 从链式Promise 中返回Promise 45
2.5 小结 54
第3 章 多个Promise 协同工作 57
3.1 Promise.all() 方法 57
3.2 Promise.allSettled() 方法 71
3.3 Promise.any() 方法 82
3.4 Promise.race() 方法 89
3.5 小结 95
第4 章 异步函数和await 表达式 97
4.1 定义异步函数 98
4.2 异步函数的不同之处 99
4.2.1 返回值总是一个Promise 100
4.2.2 抛出的错误是处于拒绝状态的Promise 103
4.2.3 可以使用await 表达式 105
4.2.4 可以使用for-await-of 循环 114
4.3 顶层await 表达式 118
4.4 小结 120
第5 章 追踪未处理的拒绝情况 123
5.1 检测未处理的拒绝情况 124
5.2 在Web 浏览器中追踪未处理的拒绝情况 126
5.2.1 在Web 浏览器中报告未处理的拒绝情况 131
5.2.2 在Web 浏览器中避免出现控制台警告 133
5.2.3 进行处理 134
5.3 在Node.js 中追踪未处理的拒绝情况 136
5.4 小结 142
后记 145
常见问题解答 147