首页 > 代码库 > waterfall实现
waterfall实现
1 function TaskRun(tasks,done) 2 { 3 var task_index=0; 4 done=done||((err)=>{ 5 err&&console.log(err); 6 }); 7 function next() { 8 if(task_index==tasks.length) {return done(null);} 9 var args=[].slice.call(arguments); 10 args.push(next); 11 try{ 12 tasks[task_index++].apply(this,args); 13 }catch(ex){ 14 return done(ex); 15 } 16 } 17 next(); 18 } 19 20 TaskRun([function(next){ 21 setTimeout(function(){ 22 console.log("one"); 23 next(1); 24 }, 10); 25 26 },function(num1,next){ 27 console.log("two"); 28 console.log(num1); 29 throw new Error("sfdsf"); 30 setTimeout(function(){ 31 console.log("last"); 32 next(3,4); 33 }, 10); 34 },function(num1,num2,next){ 35 console.log("5"); 36 console.log(num1); 37 console.log(num2); 38 }])
waterfall实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。