Promise是异步编程的一种解决方法,Promise可以理解是一个容器,从语法上来说,Promise是一个对象通过它可以获取异步操作的消息,
Promise提供的统一的API,各种异步操作都可以用同样的方法进行处理
Promise对象代表一个异步操作,对象不受外界的影响,它有三种状态,pending(进行中),fulfilled(已完成),rejected(以失败)
一旦状态改变就不会发生变化,Promise对象的状态改变,只有两种可能:从pending变为fulfilled,或从pending变成rejected
Promise必须接收一个函数作为参数,函数包含resolve和reject\
Promise的方法:.then(当执行成功走then),.catch(失败走.catch),.finally(无论成功失败都会走)
Promise.all():将多个promise实例包装成一个新的promise实例
const p1 =function(){return new promise((reslove,reject)=>{reslove(1)})} const p2 =function(){return new promise((reslove,reject)=>{reslove(1)})} const p3 =function(){return new promise((reslove,reject)=>{reslove(1)})} let a=Promise.all([p1(),p2(),p3()]).then((res)=>{log(res)}).catch((res)=> {log(res)})
promise.any():1.只要有一个实例变成fulfilled(成功),他就会变成fulfilled。
2.只有全部实例状态都变成rejected,他才会变成rejected
const p1 =function(){return new promise((reslove,reject)=>{reslove(1)})} const p2 =function(){return new promise((reslove,reject)=>{reslove(1)})} const p3 =function(){return new promise((reslove,reject)=>{reslove(1)})} let a=Promise.any([p1(),p2(),p3()]).then((res)=>{log(res)}).catch((res)=> {log(res)})