美文网首页
async和Promise传参数区别

async和Promise传参数区别

作者: yujiawei007 | 来源:发表于2019-01-23 14:51 被阅读0次

    现在把业务要求改一下,仍然是三个步骤,但每一个步骤都需要之前每个步骤的结果。

    function step1(n) {
        console.log(`step1 with ${n}`);
        return takeLongTime(n);
    }
    function step2(m, n) {
        console.log(`step2 with ${m} and ${n}`);
        return takeLongTime(m + n);
    }
    function step3(k, m, n) {
        console.log(`step3 with ${k}, ${m} and ${n}`);
        return takeLongTime(k + m + n);
    }
    // 这回先用 async/await 来写:
    async function doIt() {
        console.time("doIt");
        const time1 = 300;
        const time2 = await step1(time1);
        const time3 = await step2(time1, time2);
        const result = await step3(time1, time2, time3);
        console.log(`result is ${result}`);
        console.timeEnd("doIt");
    }
    doIt();
    

    如果是promise的写法

    // promise 写法
    var p1 = 1, p2, p3;
    step1(p1)
    .then((param) => step2(p1, p2=param))
    .then((param) => step3(p1, p2, p3=param))
    .then((param) => {console.log('result is', param);});
    

    相关文章

      网友评论

          本文标题:async和Promise传参数区别

          本文链接:https://www.haomeiwen.com/subject/dggjjqtx.html