我需要从两个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)。 –