promise 是es6新增的异步编程的解决方案,可以理解为一个类,使用的时候需要对他进行实例化
当我们对promise进行实例化的时候,需要传递一个函数作为参数,这个函数接收两个函数为参数,resolve和reject
resolve和reject是两个函数,他们两个是promise类中自带的函数,当异步操作成功的时候调用resolve,当异步操作失败的时候调用reject
promise有三个状态
1.pending 等待状态(进行中)
2.fulfilled 成功状态
3.rejected 失败状态
状态一经改变,不可逆转
promise的实例方法
.then(res=>成功函数),err=>(失败函数)
.catch(err=>失败函数)
.finally(fin=>最终函数) 成功和失败都会执行但是没有参数
promise有哪些方法?
.all()等待所有promise返回成功就会返回成功
.race()等待第一个promise返回成功或者失败就会返回成功或者失败
.allSettled()成功失败都会返回 (返回的数据里面会告诉我们是成功或失败)
.any()只返回第一个成功的