promise

1. 概念
    - 承诺:分为三个状态:正在进行时,已完成,已失败
    - 完成和失败的状态只允许发生一次且一个
    - promise其实就利用原生js进行的封装
2. 语法
    - Promise是个构造函数
         1:new执行
            第一步:创建一个实例,实例身上有then方法和catch方法
            let p = new Promise((resolve,reject)=>{
                resolve();
                reject();
            })

         第二步:执行then方法传入两个回调函数:

    p.then(()=>{

                // 完成时要做的事情
                // 想做什么做什么
                return 新的promise实例2
            }).then(()=>{
                // 新的promise2的成功处理
                // 想做什么做什么
                return 新的promise实例3
            }).then(()=>{
                // 新的promise3的成功处理
                // 想做什么做什么
                return ......;
            })

 

            p.catch(()=>{
                // 失败时要做的事情
                // 想做什么做什么
                return 新的promise实例2
            }).catch(()=>{
                // 新的promise2的失败处理
                // 想做什么做什么
                return ......;
            })
            ```
       2:直接作为对象使用
            - Promise.all批量检测
            ```js
            var p1 = new Promise(...);
            var p2 = new Promise(...);
            var p3 = new Promise(...);
            Promise.all([p1,p2,p3]).then((res)=>{
                // 全部成功时,要做的事情
                // res是个数组,内包含所有promise实例的成功之后的数据
            }).catch((res)=>{
                // 只要有一个失败,要做的事情
            })

 

posted @ 2020-05-29 21:29  油画家的第一站  阅读(110)  评论(0编辑  收藏  举报