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>
    

      

  • 相关阅读:
    iOS 色值 转换 干货
    控制器view及UIApplication的生命周期
    runtime认识及其用处
    block底层实现原理
    iOS开发,你不得不知的数据存储---干货
    UIImageView(UIImage)的那些细节
    UIButton那些应用细节
    使用gevent写异步代码
    数据分析三剑客之pandas
    数据分析之numpy
  • 原文地址:https://www.cnblogs.com/r-mp/p/11545490.html
Copyright © 2011-2022 走看看