2.1. promise是什么
-
抽象表达
a) promise是一门新技术
b) promise是js中进行异步编程的新解决方案 -
具体表达
a) 从语法上来说:promise是一个构造函数
b) 从功能上来说:promise对象用来封装一个异步操作并可以获取成功或失败的结果值
2.2. 为什么使用promise
2.2.1 指定回调函数的方式更加灵活
- 旧的,必须在启动异步任务前指定
- promise启动异步任务=>返回promise对象=>给promise对象绑定回调函数(甚至可以在异步任务结束后执行指定或者多个)
2.2.2 支持链式调用,可以解决回调地狱问题
1. 什么是回调地狱
回调函数嵌套调用,外部回调函数异步执行的结果是嵌套的回调执行条件
2. 回调地狱的缺点
不便于阅读<br>
不便于异常处理<br>
2.1.2 promise状态
- padding等待
- resolved/fullfilled成功
- rejected失败
2.2.2 promiseAPI
- resolve()
- reject()
- all()
- race()
2.3.2 promise构造方法
- .then((res)=>{},(req)=>{})
- .catch((res)=>{},(req)=>{})
2.4.2 异常处理
- throw new Error()
- try{}catch(e){}