Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在node.js中对函数中的异步调用进行分组_Node.js_Asynchronous_Async.js - Fatal编程技术网

在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!');

我是Node.js的新手。我喜欢Node.js中的异步方法。但是,我现在需要一个同步操作。我一直在研究异步模块。然而,我在一件事上被难住了。请记住,我的异步调用设置如下:

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名称数组,在查询回调中使用和回调对其进行迭代。每个
函数中给出的第二个函数在它们全部完成之前不会启动。好的,我只需重新检查一下自己,我认为
异步。每个
就是实现这一点的方法。