node.js——async同步非同步
阿新 • • 發佈:2019-02-16
程式碼是最好的語言,如下所示:
var async=require('./async'); //同步無關聯 function series(){ async.series({ 'ma':function(done){ var i=0; setInterval(function(){ if(3==i){ clearInterval(this); done(null,'ma結束'); return; } console.log("ma中執行"+new Date()); i++; },1000); }, 'mb':function(done){ var i=0; setInterval(function(){ if(3==i){ clearInterval(this); done(null,'mb結束'); return; } console.log("mb中執行"+new Date()); i++; },1000); } }, function(err,rs){ console.log(err); console.log(rs); } ); } //series(); //非同步無關聯 function parallel(){ async.parallel({ 'ma':function(done){ var i=0; setInterval(function(){ if(3==i){ clearInterval(this); done(null,'ma結束'); return; } i++; console.log('ma中執行'+new Date()); },1000); }, 'mb':function(done){ var i=0; setInterval(function(){ if(3==i){ clearInterval(this); done(null,'mb結束'); return; } i++; console.log('mb中執行'+new Date()); },1000); } }, function(err,rs){ console.log(err); console.log(rs); } ); } //parallel(); function waterfall(){ async.waterfall([ function(done){ var i=0; setInterval(function(){ if(4==i){ clearInterval(this); done(null,'ma結束'); return; } console.log('ma中執行'+new Date()); i++; },1000); }, function(preVal,done){ var i=0; setInterval(function(){ if(4==i){ clearInterval(this); done(null,'mb結束'); return; } console.log(preVal+new Date()); i++; },1000); } ]); } waterfall();