首先,雙手放在僞代碼:
forEach(arrayelements) {
asyncQueryFunction(function(qres) {
//work with query results.
});
}
// finally, AFTER all callbacks did return:
res.render("myview");
如何做到這一點?
如果這還不夠清楚,我會解釋:
我需要做一系列的「更新」查詢(在MongoDB中,通過貓鼬),遍歷文件ID的列表。對於我的數組中的每個id,我將調用一個異步函數,它將返回查詢結果(實際上,我不需要對它們做任何事情)。
我知道我必須使用.forEach()
JavaScript循環,但是隻有當我的所有異步查詢都完成後,如何才能執行我的「最終」回調?
我已經使用優秀的異步庫(https://github.com/caolan/async)來實現這種任務,當我執行一系列「有限」任務時。但我不認爲我可以通過它一系列不同的功能。
我可以嗎?
這是一種方法:http://stackoverflow.com/questions/4631774/coordin ating-parallel-execution-in-node-js/4631909#4631909 – slebetman
你可以使用異步流量控制庫,「async」是最流行的(https://github.com/caolan/async) –