Promise&axios 2021-6-15
2.1.2 Promise的状态改变
1.pending变为resolved
2.pending变为rejected
Promise的状态
实例对象中的一个属性 【PromiseState】
- pending 未决定的
- resolved/fulfilled 成功
- rejected 失败
Promise对象的值
实例对象中的另一个属性 【PromiseResult】
保存着异步任务【成功/失败】的结果
- resolve
- reject
Promise.all方法
promise:包含n个promise的数组
说明:返回一个新的promise,只有所有的promise都成功才成功,只要有一个失败了就直接失败
Promise.race方法
promise:包含n个promise的数组
说明:返回一个新的promise,第一个完成的promise的结果状态就是最终的结果状态
5.promise如何串联多个操作任务
(1)promise的then()返回一个新的promise,可以开成then()的链式调用
(2)通过then的链式调用串联多个同步/异步任务
6.promise异常穿透
(1)当使用promise的then链式调用时,可以在最后指定失败的回调
(2)前面任何操作出现了异常,都会传到最后失败的回调中处理
async函数
1.函数的返回值为promise对象
2.promise对象的结果由async函数执行的返回值决定
await表达式
1.await右侧的表达式一般为promise对象,但也可以是其他的值
2.如果表达式是promise对象,await返回的是promise成功的值
3.如果表达式是其他值,直接将此值作为await的返回值