zoukankan      html  css  js  c++  java
  • Promise

    <script>
    /*
     1、promise的使用
     2、promise常用的APi
        .all  多个异步都执行完毕以后才会执行.then中的结果
        .race 多个异步中如果有一个执行成功就不在去执行另外一个了
    
     3、多个异步如何同步执行
    
     4、如何执行多个ajax  Promise.all
    
     promise是一个构造函数  new 
    
    每次promise执行完毕以后都会返回一个新的promise   
    
    状态:resolve 成功  reject失败
    
    .then中第一个回调是成功的回调 第二个回调是失败的回调
    
    */
    // new Promise((resolve,reject)=>{
    //     /*异步代码*/
    //     setTimeout(()=>{
    //         console.log("111");
    //         //resolve("123")
    
    //         reject("失败")
    //     },2000)
    // }).then((data)=>{
    //     console.log(data)
    // },(err)=>{
    // console.log(err);
    // })
    
    
    // var p = new Promise((resolve)=>{
    //     setTimeout(()=>{
    //         resolve("第一个值")
    //     },3000)
    // })
    
    // var p1 = new Promise((resolve)=>{
    //     setTimeout(()=>{
    //         resolve("第二个值")
    //     },2000)
    // })
    
    // Promise.race([p,p1]).then((data)=>{
    //     console.log(data)
    // })
    
    // Promise.all([p,p1]).then((...rest)=>{
    //     console.log(rest)
    // })
    
    
    
    var p1 = new Promise(resolve=>{
        setTimeout(()=>{
            console.log(111)
            resolve()
        },4000)
    })
    
    var fn = function(){
        return new Promise(resolve=>{
            setTimeout(()=>{
                console.log(222)
                resolve()
            },3000)
        })
    }
    
    
    
    var fn1 = function(){
        return new Promise(resolve=>{
            setTimeout(()=>{
                console.log(333)
                resolve()
            },2000)
        })
    }
    
    
    var fn2 = function(){
        return new Promise(resolve=>{
            setTimeout(()=>{
                console.log(444)
                resolve()
            },1000)
        })
    }
    
    
    
    p1.then(()=>{
        return fn()
    }).then(()=>{
        return fn1()
    }).then(()=>{
        return fn2()
    })
    
    
    
    
    
    
    
    </script>
    

      

  • 相关阅读:
    1.8.4- 默认选中表单属性
    1.8.3- 单选框和复选按钮
    1.8.2- 文本框和密码
    springboot整合logback集成elk实现日志的汇总、分析、统计和检索功能
    elasticsearch kibana logstash(ELK)的安装集成应用
    sslopen RSA加解密
    Docker基本使用运行ngix镜像
    springCloud 之 Eureka注册中心高可用配置
    springCloud 之 Eureka服务治理
    springboot整合redis
  • 原文地址:https://www.cnblogs.com/r-mp/p/11545490.html
Copyright © 2011-2022 走看看