1.异步操作的解决方案
Promise 是一种异步操作的解决方案,将写法复杂的传统的回调函数和监听事件的异
步操作,用同步代码的形式表达出来。避免了多级异步操作的回调函数嵌套。
- 主要用于异步计算
- 可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
- 可以在对象之间传递和操作 promise,帮助我们处理队列
2.作为对象,内部有三种状态
- 初始状态( pending )。
- 已完成( resolve):resolve 方法可以使 Promise 对象的状态改变成成功
- 已拒绝( reject ):reject 方法则是将 Promise 对象的状态改变为失败
3.常用的三种方法
第一种:then 表示异步成功执行后的数据状态变为 resolve
第二种:catch 表示异步失败后执行的数据状态变为 reject
第三种:all 表示把多个没有关系的 Promise 封装成一个 Promise 对象使用
then 返回一个数组数据。
4.总结
Promise 构造函数有两个变量 resolve 用于返回异步执行成功的函数 reject 用于返
回异步执行失败的函数,配合 then 与 catch 一起使用
5.在哪里使用过
- Ajax 异步请求的时候
- 函数嵌套层级多的时候使用 promise,优点在于,回调函数变成了链式写法,程序的
流程可以看得很清楚,而且有一整套的配套方法,可以实现许多强大的功能。