Nodejs:非同步流程控制(上)
阿新 • • 發佈:2018-12-12
function oneFun() { // setTimeout(function () { // console.log("a"); // }, 1000); i = 0; setInterval(function () { console.log("aaa==" + new Date()); i++; if (i == 3) { clearInterval(this); } }, 1000); console.log("oneFun"); } function twoFun() { j = 0; setInterval(function () { console.log("bbb==" + new Date()); j++; if (j == 3) { clearInterval(this); } }, 1000); console.log("oneFun執行完畢"); } //oneFun(); //twoFun(); /* 1,序列無關聯:async.series 2,並行無關聯:async.parallel 3,序列有關聯:waterfall */ //非同步操作,序列無關聯 //npm install async --save-dev var async = require('async'); function exec() { async.series({ one: function (done) { i = 0; setInterval(function () { console.log("aaa==" + new Date()); i++; if (i == 3) { clearInterval(this); done(null, 'one完畢'); } }, 1000); }, two: function (done) { j = 0; setInterval(function () { console.log("bbb==" + new Date()); j++; if (j == 3) { clearInterval(this); done(null, 'two完畢'); } }, 1000); } }, function (err, rs) { console.log(err); console.log(rs); } ) } exec(); console.log("主程序執行完畢");