2012-10-07 48 views
1

我有這個非常簡單的程序,輸出應該是「foo」,然後是「baz」,但由於某些原因,「baz」不會打印在屏幕上。我犯了什麼錯誤?Node.js async.queue不起作用

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

你必須調用callback隊列:

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

這樣,它通知隊列,它完成了任務和隊列可以跳轉到另一個。

1

你剛纔forgott的

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) {});