我需要從兩個Web服務器請求數據。任務是獨立的;因此,我正在使用aync.parallel。現在我只在自己的網頁上寫上'abc','xyz'和'Done'。瞭解Node.JS async.parallel
由於任務在同一時間執行,我可以遇到一個奇怪的輸出?例如,
xab
cyz
的代碼。
var async = require('async');
function onRequest(req, res) {
res.writeHead(200, {
"Content-Type" : "text/plain"
});
async.parallel([ function(callback) {
res.write('a');
res.write('b');
res.write('c\n');
callback();
}, function(callback) {
res.write('x');
res.write('y');
res.write('z\n');
callback();
} ], function done(err, results) {
if (err) {
throw err;
}
res.end("\nDone!");
});
}
var server = require('http').createServer(onRequest);
server.listen(9000);
寫入'res'的順序取決於哪個async.parallel任務首先完成,但是因爲任務是獨立的,而不是順序應該無關緊要。 – Bulkan
@Bulkan,謝謝。但「並行」似乎不能正常工作。請閱讀[一個新問題](http://stackoverflow.com/questions/20186787/node-js-async-parallel-doesnt-wait-until-all-the-tasks-have-completed)。 –