美文网首页
promise 并行 串行

promise 并行 串行

作者: Time_Notes | 来源:发表于2020-07-09 01:10 被阅读0次

    Promise.all并行执行promise


    顺序执行promise

    1.使用then链式操作

    2.使用promise构建队列

    先getA,然后getB执行,最后addAB

    function getResult(){

        var res=[];

        function queue(arr){

            var sequence=Promise.resolve();

            arr.forEach(item=>{

                sequence = sequence.then(item).then(data=>{

                    res.push(data);

                    return res;

                })

            })

            return sequence;

    }

    // 执行队列

    queue([getA,getB])

    .then(data=>{return addAB(data[0],data[1])})

    .then(data=>{console.log(data)})

    .catch(e=>console.log(e));}

    getResult();


    3.用async/await实现类似同步编程

    function getResult(){

        async function queue(arr){

            let res=[]

            for(let fn of arr){

                var data=await fn();

                res.push(data);

            }

            return await res;

        }

    queue([getA,getB])

    .then(data=>{ return addAB(data[0],data[1])})

    .then(data=>console.log(data))}

    相关文章

      网友评论

          本文标题:promise 并行 串行

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