Promise是什么
Promise是异步编程的一种解决方案,Promise本身是一个构造函数,在其自身上具有all、 resolve、reject等方法,在其原型上具有then、catch等方法;Promise有三种状态,分别是 pending(初始状态)、fulfilled(成功)、rejected(失败);
Promise的特点
1、状态的改变只受异步结果的影响,其他操作不能改变其状态;
2、状态的改变是不可逆的(状态一旦发生改变,就不会在变,且不会回到原先的状态),Promise
只能由pending变成fulfilled或rejected
Promise解决的问题
1、回调地狱
回调地狱: 简单说回调地狱就是下一次请求的条件是上一次异步请求的结果,依次循环下去 在ajax中极易形成回调地狱
2、支持像juqery一样的链式调用
Promise中的all方法
all是等全部的异步函数都执行完成后,才会执行then方法并返回数据
race是只要其中一个异步函数执行完,就会执行then方法并返回数据且其他异步函数不会
* 在进入race的任何回调