如何使用`async`实现屏障?

时间:2014-11-07 11:32:07

标签: javascript node.js asynchronous concurrency barrier

我想知道,你将如何实施node.js' async模块?

我想我应该使用一个函数来向调用者返回async生成的回调列表。在调用所有这些后,将运行 finish 回调。

async的哪些功能可能有帮助?

1 个答案:

答案 0 :(得分:2)

不确定我是否正确理解你的问题。但是你可以使用async.series.It将运行指定的一系列功能(一个接一个) 然后在执行所有函数后最终调用您指定的最终回调

您可以使用可在每个函数的任务回调中调用的迭代器回调(cb)。 您可以指定数组中的函数列表,它们将按顺序执行

async.series([func1,func2],finalcallback);

async.seres([

    function(cb) {
        db.find('likes', function(err, likes) {
            dosomething with likes;
            cb();
        });
    },
    function(cb) {
        db.load('posts_likes', function(err, likes_posts) {
            dosomething with likes_posts;
            cb();
        });
    }
], function(err) {
    This is the final callback that gets called after all the task function callbacks are executed
});