【问题标题】:How to implement a barrier with `async`?如何使用“异步”实现屏障?
【发布时间】:2015-01-04 04:32:18
【问题描述】:

我想知道,您将如何使用 node.js' async 模块实现屏障?

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

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

【问题讨论】:

    标签: javascript node.js asynchronous concurrency barrier


    【解决方案1】:

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

    您可以使用迭代器回调(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
    });
    

    【讨论】:

    猜你喜欢
    • 2015-03-09
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 2012-12-09
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    相关资源
    最近更新 更多