【问题标题】:I have query in async.parallel module in nodeJS我在 nodeJS 的 async.parallel 模块中有查询
【发布时间】:2016-12-14 18:27:08
【问题描述】:

我正在尝试将async 节点模块用于我的项目,我非常需要它。当我尝试遵循代码时,它不起作用。请任何人帮我解决问题。

async.parallel({
   test : function(callback) {
       for(var i=0; i<1000000000; i++){
           if(i == 999999999){
               console.log("test");
               callback(null, "test");
           }
       }
   },
   test1 : function(callback) {
       console.log("test1")
       callback(null, "test1");
   }
}, function(err, results) {
    // optional callback
    console.log('results', results)
});

这些代码将如何执行?我试过打印{ test: 'test', test1: 'test1' },但如果并行进程执行而不需要像{ test1: 'test1', test: 'test' }这样的输出,那么从逻辑上讲。

如果我使用timeout insted of for loop,那么它工作正常。

【问题讨论】:

    标签: node.js asynchronous async.js


    【解决方案1】:

    来自异步doc

    注意:并行是关于并行启动 I/O 任务,而不是关于并行执行代码。如果您的任务不使用任何计时器或执行任何 I/O,它们实际上将被串行执行。每个任务的任何同步设置部分都将一个接一个地发生。 JavaScript 保持单线程。

    所以,你的 For 循环 是以同步方式完成任务

    【讨论】:

      猜你喜欢
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-03
      • 2017-10-27
      • 2012-07-02
      相关资源
      最近更新 更多