1

我有这个非常简单的程序,输出应该是“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) {});
4

2 回答 2

4

您必须callback排队等候:

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

通过这种方式,它通知队列,它完成了任务并且队列可以跳转到另一个。

于 2012-10-07T08:51:20.283 回答
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) {});
于 2012-10-07T08:56:36.050 回答