在node.js中使用async.series

时间:2014-06-19 15:09:15

标签: node.js async.js

我是Node.js的新手。我喜欢Node.js的一个原因是它的异步特性。但是,此时此刻,我需要进行同步操作。对于 那个原因,我一直在看异步模块。但是,我仍然无法弄清楚我想做什么。

我试图按顺序执行2次静态操作和可变数量的其他操作。在完成所有这些之后,我想做点什么。换句话说,在psedo代码中,我试图这样做:

var total = getValue();

executeOperation1();
executeOperation2(); 
for (var i=0; i<total; i++) {
    executeOperationX(i);
}
doCompletionOperation();

我的每个主要操作(executeOperation1(),executeOperation2()和executeOperationX(...))都是异步运行的。根据我的理解,我需要使用 async.series。但是,我不确定这在语法上是什么样的。有人能告诉我怎么做吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

你需要一些回调才能使用异步函数。 async.series看起来像这样:

getValue(function(value){
    var total = value;
    async.series([
        function(callback){
            executeOperation1(function(){
                callback();
            });
        },function(callback){
            executeOperation2(function(){
                callback();
            });
        },function(callback){
               for(var i=0;i<total;i++){        
                 executeOperationX(i);
               }
        }],function(){
              doCompletionOperation();
        });
   });