1.概念
promise是为了解决回调地狱
promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。
Promise的实例有三个状态:
- Pending(进行中)
- Resolved(已完成)
- Rejected(已拒绝)
Promise的实例有两个过程:
- pending -> fulfilled : resolved(已完成)则用.then表示
- pending -> rejected:rejected(已拒绝)则用.catch表示
注意:
- 进入resolved(已完成)状态则不会进入rejected(已拒绝)状态,反之亦然。很好的诠释了promise,像你承诺不会改变
- .catch在.then之后使用,.catch可以监听以上.then任意过程出错
- 无论成功.then还是失败.catch,都需要执行一些方法时.finally
- .finally:在promise链结束后调用,做一些清理工作