我有一個大量使用async.js模塊的大型node.js應用程序。node.js async.js nextTick vs setImmediate
我有這樣大量的代碼:
async.series([
function(callback){
sql.update(query, callback);
},
function(callback){
if (something){
sql.update(query2, callback);
}
else{
callback(null);
}
}
]);
最大的問題是else語句中的同步回調。我讀了一段時間,你不應該這樣做與async.js,因爲它可能會導致意想不到的結果,但我不知道什麼是最好的選擇。我讀過我應該在某些地方使用process.nextTick,但現在我正在閱讀,我們不應該使用它,它應該設置爲立即。
有人能指出我正確的方向嗎?謝謝!
你可以鏈接到你讀的地方,你不應該那樣做?我沒有看到它的問題。這是異步應該使用的方式。當你完成了你的回調函數的執行。直到回調被調用後,後續函數纔會運行。 –
我希望我能找到它。我前一段時間讀過。我知道這個回調需要被調用,但我認爲它應該被包裝在我提到的一個函數中,以便對回調進行異步調用。我們確實有一些古怪的地方。不知道它是來自這個還是其他的東西,但認爲我會刪除任何可能是問題的東西。 – Christie
我不認爲它是「錯誤的方向」..問題應該是別的..如果沒有錯誤,'callback'的第一個參數應該爲空,否則'.series'調用將會退出錯誤。嘗試用'console.trace()',斷點和更多輸出來調試它。 – Gntem