Node.js async.queue不起作用

时间:2012-10-07 08:45:09

标签: node.js

我有这个非常简单的程序,输出应该是“foo”然后是“baz”,但由于某种原因,“baz”没有打印在屏幕上。我犯了什么错误?

var async = require('async');

var q = async.queue(function (task, callback) {
    console.log(task.message);
}, 1);

q.push({ message : "foo" }, function (err) {});
q.push({ message : "baz" }, function (err) {});

2 个答案:

答案 0 :(得分:4)

您必须在队列中调用callback

var q = async.queue(function (task, callback) {
    console.log(task.message);
    callback( );
}, 1);

这样它就会通知队列,它完成了任务,队列可以跳转到另一个队列。

答案 1 :(得分:1)

你只是忘了

callback()

试试这个对我有用:

var async = require('async');

var q = async.queue(function (task, callback) {
    console.log(task.message);
    callback();
}, 1);

q.push({ message : "foo" }, function (err) {});
q.push({ message : "baz" }, function (err) {});