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 に答える