Promise
一、什么是promise?
promise是一个保存着异步操作结果的容器,因此,通过promise可以获取到异步操作的最终状态(成功或失败),此外,promise也是一个构造函数,其对外提供统一API,自身有all、reject、resolve等方法,原型上有then、catch等方法。
二、promise的作用
promise采用链式写法,本质上是将异步操作同步化,由此可以解决由多层回调嵌套引起的地狱回调问题。
三、应用场景
封装ajax,axios的get,post封装,微信小程序中封装wx.request()。
四、promise的特点
promise有三个状态:pending(等待)、fulfilled(成功)、rejected(失败),这三种状态不受外界影响,且不可逆。
五、promise对象的创建、执行过程
使用new来创建一个promise对象,接受一个「函数」作为参数,该函数的两个参数分别是resolve
和reject
。resolve对应调用then方法,reject对应调用catch方法。