NPM异步系列问题

时间:2016-01-28 21:42:15

标签: javascript arrays node.js async.js

我在使用npm异步模块时遇到问题。文档建议以下代码结构将导致顺序执行添加到系列数组的函数,但是当我运行以下代码时,我只获得“第一个”console.log。有什么问题?

string mainDirectorsInZim = null;

if (zimOrganisation.OrganizationFields.ContainsKey("main_director"))
{
    mainDirectorsInZim = (string)zimOrganisation.OrganizationFields["main_director"];
}

3 个答案:

答案 0 :(得分:1)

async.series传递您必须在每个函数结束时调用的callback

var async  = require('async');

async.series([
  function(callback){ console.log("first"); callback(null, 1); },
  function(callback){ console.log("second"); callback(null, 2);}
]);

答案 1 :(得分:1)

异步期望在每个函数完成时调用回调,然后触发下一个函数等。

var async  = require('async');

async.series([
  function(callback){ 
      console.log("first");
      callback(null, 'data'); // first arg is error
  },
  function(callback){ 
      console.log("second")
      callback(null, 'data'); // first arg is error
  }
], function(err, results) {
    // results === ['data', 'data']
});

文档在解释这个

方面有些缺乏

答案 2 :(得分:1)

当使用async.series时,你应该为每个函数提供一个回调函数,该函数在执行时'告诉'async以向前移动到下一行函数:

async.series([
  function(callback){ console.log("first"); callback();},
  function(callback){ console.log("second"); callback();}
]);