node.js - async.parallel() - 最后一个函数未被调用

标签 node.js asynchronous

出于某种原因,当我使用 async.parallel() 时,永远不会打印“yyyyyyyyy”字符串,如下所示。为什么是这样?我认为一旦其他两个函数被调用,最后一个函数就会被调用。

var async = require('async');
async.parallel([
    function() {
        console.log('xxxxxxxxxxx');
    },
    function() {
        console.log('ccccccccccc');
    }
], function(err, results){
    console.log('yyyyyyyyy');
});

最佳答案

将第一个参数传递给 async.parallel 的每个 function 都应该采取一个 callback,并在完成时调用 async 知道它已经完成:

var async = require('async');
async.parallel([
    function(callback) {
        console.log('xxxxxxxxxxx');
        callback();
    },
    function(callback) {
        console.log('ccccccccccc');
        callback();
    }
], function(err, results){
    console.log('yyyyyyyyy');
});

如果其中一个函数发生错误,它应该调用回调:

callback(err);

以便async知道发生了错误,并且它会立即调用最后一个函数

关于node.js - async.parallel() - 最后一个函数未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18179197/

相关文章:

javascript - 如何像 Ember.js 那样抽象 ajax 请求的异步行为?

http - 无法在 http 中异步处理同步事件错误

javascript - 静态 Promise.resolve()/reject() 始终被解释为resolve()

python - 将 gen.task 与 Tornado 一起使用以获得简单的功能

javascript - 如何在浏览器中使用podio-js(没有Node.js)?

javascript - Node JS Json Web token Router.use() 需要中间件函数,但未定义

node.js - 在Nodejs中使用SQL Server实现与mongoose相同的功能

javascript - 使用 Dust.js 的异步自关闭助手

css - Webpack - ExtractTextPlugin : No css file generated, 没有错误

javascript - 在继续之前等待 API 调用在 Javascript 中完成