在node.js中对函数中的异步调用进行分组
我是Node.js的新手。我喜欢Node.js中的异步方法。但是,我现在需要一个同步操作。我一直在研究异步模块。然而,我在一件事上被难住了。请记住,我的异步调用设置如下:在node.js中对函数中的异步调用进行分组,node.js,asynchronous,async.js,Node.js,Asynchronous,Async.js,我是Node.js的新手。我喜欢Node.js中的异步方法。但是,我现在需要一个同步操作。我一直在研究异步模块。然而,我在一件事上被难住了。请记住,我的异步调用设置如下: async.parallel( [ operation1, operation2 ], function(err, results) { if (err) { console.log(err); } else { console.log('Success!');
async.parallel(
[
operation1,
operation2
], function(err, results) {
if (err) {
console.log(err);
} else {
console.log('Success!');
}
});
var operation2 = function(callback) {
console.log('Querying accounts...');
for (var dbNumber=0; dbNumber<100; dbNumber++) {
var dbName = 'db_' + dbNumber;
// query database
}
};
async.parallel(
[
操作1,
操作2
],函数(错误,结果){
如果(错误){
控制台日志(err);
}否则{
console.log('Success!');
}
});
var operation2=函数(回调){
log('查询帐户…');
对于(var dBoTeNo.= 0;DbNoMube不确定),您的意思是“当所有这些查询完成时,我认为操作2是完整的。”不管怎么说,您基本上掌握了语法,只要在查询返回时调用async提供的回调,那么在查询的回调中调用async回调,我想您应该可以开始了。我的问题是,数据库查询是异步运行的。它将运行100次。因此,我不知道何时调用该调用返回。在数据库查询执行100次之后,如何调用回调?由于异步性质,它们可能在不同的时间完成。啊,我认为您可能使用了错误的异步函数(常见问题)。您似乎有一个db名称数组,在查询回调中使用和回调对其进行迭代。每个
函数中给出的第二个函数在它们全部完成之前不会启动。好的,我只需重新检查一下自己,我认为异步。每个
就是实现这一点的方法。