ES6中的Promise

Promise的作用是来使js函数同步执行, 注意是Promise不是promise,刚开始写的时候就犯了这个错误.

Promise接收两个函数参数, resolve和reject, resolve表示执行成功, reject表示失败,

function p1(){
    return new Promise( (resolve, reject)=>{
        setTimeout(()=>{
            resolve("function p1");
            console.log("p1");
        }, 3000);
    });
}

function p2(){
    return new Promise( (resolve, reject)=>{
        setTimeout(()=>{
            resolve("function p2");
            console.log("p2");
        }, 9000);
    });
}

function p3(){
    return new Promise( (resolve, reject)=>{
        setTimeout(()=>{
            resolve("function p3");
            console.log("p3");
        }, 2000);
    });
}

p1().then(p2).then(p3).then((result)=>{
    console.log(result);
}).catch((result)=>{
    console.log(result);
});
/*
    当其中一个执行出错,后面函数将不会再执行, 直接执行catch
    当所有函数都执行成功后, 最后一个then作为最后一个函数的resolve参数
*/
/*
p1
p2
p3
function p3
*/

// p1();
// p2();
// p3();
/*
p3
p1
p2
*/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值