Promise挂载

运用Promise能够防止回调函数的层层嵌套,还供应了范例越发轻易的对异步操纵举行掌握。供应了reject,resolve,then和catch等要领

Promise有三种状况:
挂起状况 胜利状况 失利状况

Promise是ES6以后原生的对象,我们只需要实例化Promise对象就能够直接运用。实例化Promise:

    
    var p = new Promise(function(resolve,refused){
        console.log("abc");//abc
        //resolve();
        setTimeout(function(){
            resolve();
        },3000)//定时器
        console.log("123");
    });
    p.then(function(){
        console.log("dfe")//用resolve()实行
        });*/

    setTimeout(function(){
        console.log(1);
        setTimeout(function(){
            console.log(2)
            setTimeout(function(){
                console.log(3);
            },3000)
        },2000)
    },1000);*/


    var p1=new Promise(function(resolve,refused){
        setTimeout(function(){
            resolve()
        },1000);
    });
    p1.then(function(){
        console.log(1);
            /*return new Promise(function(resolve,refused){
                setTimeout(function(){
                    resolve();
                },2000);
            });*/
        return sleep(2000);
        
    }).then(function(){
        console.log(2);
        /*return new Promise(function(resolve,refused){
                setTimeout(function(){
                    resolve();
                },3000);
        });*/
    return sleep(3000);
    }).then(function(){
        console.log(3);
    });




    function sleep(times){
        return new Promise(function(resolve,refused){
                setTimeout(function(){
                    resolve();
                },2000);
            });
    }


    var pp=new Promise(function(resolve,refused){
        //resolve()
        refused();
    });
胜利

胜利以后实行then要领

    /*pp.then(function(){
        console.log("dddfff")
    })
失利

失利以后实行catch要领

    pp.catch(function(){
        console.log("llll")
    })
    原文作者:青石巷
    原文地址: https://segmentfault.com/a/1190000010244652
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞