Promise挂载

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")
    })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值