Promise(持续更新)

Promise是一种异步操作的解决方案,将写法复杂的传统的回调函数和监听事件的异步操作,用同步代码的形式表达出来,避免了多级异步操作的回调函数嵌套(回调地狱)。




  1. 主要用于异步计算
  2. 可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
  3. 可以在对象之间传递和操作promise,帮助我们处理队列

Promise是一个对象,它的内部有三种状态。

Promise对象:
初始状态( pending )。
已完成( resolve): resolve 方法可以使 Promise 对象的状态改变成成功
已拒绝( reject ): reject 方法则是将 Promise 对象的状态改变为失败

Promise常用的三种方法
第一种:then 表示异步成功执行后的数据状态变为resolve
第二种:catch表示异步失败后执行的数据状态变为reject
第三种:all表示把多个没有关系的Promise封装成一个Promise对象使用then返回一个数组数据。

Promise 构造函数有两个变量:resolve 用于返回异步执行成功的函数;reject 用于返回异步执行失败的函数。
使用时需要配合then与catch一起使用

Promise的使用:
1.Ajax异步请求的时候
2.函数嵌套层级多的时候使用promise,优点在于,回调函数变成了链式写法,程序的流程可以看得很清楚
而且有一整套的配套方法,可以实现许多强大的功能。

posted @ 2021-05-11 20:25  源大大123  阅读(58)  评论(0)    收藏  举报