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
*/



阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页