【问题标题】:node.js async.series not workingnode.js async.series 不工作
【发布时间】:2012-06-02 11:52:15
【问题描述】:

这段代码直接来自示例:https://github.com/caolan/async#seriestasks-callback

var async = require("async");
async.series([
    function() { console.log("a"); },
    function() { console.log("b"); }
], function(err, results){
    console.log(err);
    console.log(results);
});

但它不起作用。它在打印“a”后停止。

这是最新版本的异步模块的错误还是我的使用有问题?

【问题讨论】:

    标签: node.js asynchronous node-async


    【解决方案1】:

    您在传递给 async.series 的数组中提供的函数需要接受该函数在任务完成时调用的回调参数。所以你想这样做:

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

    【讨论】:

    • 它有效。但我想知道为什么在他们的维基中他们这样提到它 async.series([ function(){ ... }, function(){ ... } ]);
    • callback 在哪里初始化?
    • 即使我将callback 替换为callbach,此功能似乎也可以工作。为什么会这样?
    • @AndersonGreen callback 参数由async 框架在调用您的方法时提供。它对你说:'当你的函数完成它的工作时调用这个回调方法'。
    • 每当我在内部调用(使用 async.series 的一个函数)(使用 async.series 的另一个函数)时,它都会以错误的顺序调用函数,详情如下:stackoverflow.com/questions/12554017/…
    猜你喜欢
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2017-05-31
    • 2018-12-23
    • 1970-01-01
    相关资源
    最近更新 更多