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