-
Promise是ES6新增的语法 , 主要用来解决回调地狱的问题 , 是用来解决异步代码的一种解决方案 , 简单说Promise就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果
-
Promise有几种状态
三个状态:pending、fulfilled、rejected
两个过程:padding -> fulfilled【否费油的】、padding -> rejected
Promise什么时候会进入catch
当pending为rejected时,会进入catch
-
Promise 相关的几个静态方法
-
Promise.race ( ) : 接收多个 promise 实例,可以得到最先处理完毕的结果(可能是成功,也可能是失败)。
Promise.race([p1,p2,p3])
-
Promise.all ( ) : 接收多个 Promise 实例,都成功了会触发 then,有一个失败就会触发 catch。
Promise.all([p1,p2,p3]).then(r => console.log(r)) // [p1 的结果,p2 的结果,p3 的结果]
-
Promise.any ( ) : 接收多个 Promise 实例,可以得到最先处理成功的结果,都失败才会触发 catch。
Promise.any([p1, p2,p3])
-