欢迎加入站点基地设计开发交流群:30720409
详细内容
当前位置 首页 >> 技术文档 >> NodeJS >> 正文
Promise.last
发布日期:2021-06-09     点击:988     字体:[ ]

定义:

if(!Promise.last){

Promise.last=function(prs){

    return new Promise(function(resolve,reject){

               let i=0;

                prs.forEach(function(pr){

                     Promise.resolve(pr)

                          .then(function(pr){

                              i++;

                              console.log("i=%s,result=%s",i,pr);

                              if(i==prs.length){

                                    resolve(pr);

                               }

                           });

                })

          });

  }

}


定义几个promise

p2=function(){

return new Promise(function(resolve,reject){

         setTimeout(function(){

           resolve(2);  

          },5000);

    });

};

p3=function(){

return new Promise(function(resolve,reject){

         setTimeout(function(){

           resolve(3);  

          },10000);

    });

};

p5=function(){

return new Promise(function(resolve,reject){

         setTimeout(function(){

           resolve(5);  

          },11000);

    });

};

p1=function(){

return new Promise(function(resolve,reject){

         setTimeout(function(){

           resolve(1);  

          },1000);

    });

};


用promise.last执行

Promise.last([p2(),p3(),p5(),p1()]).then(function(result){

                         console.log('last result:%s',JSON.stringify(result));

                         });

最后一个返回:

last result:5

用户评论
昵称 
内容  *
验证码   
   
Copyright © 2010 zdbase.com All Rights Reserved. 苏ICP备15039389号 可人软件设计