NPM 异步系列问题

NPM Async Series Issue

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

var async  = require('async');

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

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);}
]);

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

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']
});

文档在解释这个方面有些欠缺

当使用 async.series 时,你应该为每个函数提供一个回调函数,当它被执行时 'tells' async 前进到行中的下一个函数:

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