Mak*_*iev 26 javascript parallel-processing node.js
我需要从两个Web服务器请求数据.任务是独立的; 因此,我使用的是aync.parallel.现在我只在我的网页正文中写'abc','xyz'和'Done'.
由于任务是同时执行的,我可以遇到奇怪的输出吗?例如,
xab
cyz
Run Code Online (Sandbox Code Playgroud)
代码.
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);
Run Code Online (Sandbox Code Playgroud)
Mic*_*ang 52
如果您想要按照打印结果的顺序绝对确定,您应该通过回调传递数据(abc\n
和xyz\n
)(第一个参数是错误)并在最终回调的参数中处理/写入它们.async.parallel
results
async.parallel({
one: function(callback) {
callback(null, 'abc\n');
},
two: function(callback) {
callback(null, 'xyz\n');
}
}, function(err, results) {
// results now equals to: results.one: 'abc\n', results.two: 'xyz\n'
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
60966 次 |
最近记录: |