使用没有匿名函数的Node.js async.series

时间:2014-03-01 11:07:53

标签: node.js

我正在学习Node,而我正在研究它的异步特性。现在我想使用async库来执行一系列函数。但是,每个示例都类似于:

async.series([
    function(callback){
        // do some stuff ...
        callback(null, 'one');
    },
    function(callback){
        // do some more stuff ...
        callback(null, 'two');
    }
],
// optional callback
function(err, results){
    // results is now equal to ['one', 'two']
});

所以它使用匿名函数。我更希望能够使用预定义的函数(因此我可以重复使用它们而无需复制粘贴代码)。所以,假设我有一个定义如下的函数:

function doStuff(id){
    alert(id);
}

如何将此功能添加到上面的series?另外,在这种情况下如何处理任务回调?

1 个答案:

答案 0 :(得分:3)

像这样...

function doStuff1(callback) {
  console.log('doStuff1');
  callback(null, 'one');
}
function doStuff2(callback) {
  console.log('doStuff2');
  callback(null, 'two');
}
function finally(err, results) {
  // Test error, use results
  // results == ['one', 'two']
}

async.series([doStuff1, doStuff2], finally);