流行的node.js模塊async包含集合和控制流的功能,其中一些版本可以並行或串行操作。通過node.js +異步模塊實現同步回調
但其中我找不到一種方法來構建一個循環操作系列。
我試圖做同樣的,因爲這僞代碼:
forever {
l = getline();
if (l === undefined) {
break;
} else {
doStuff(l);
}
}
- 如果我想
getLine()
並行叫我可以使用async.whilst
的所有呼叫。 - 如果我想迭代一個數組而不是像
for
或while
這樣的循環,我可以使用async.eachSeries
。
我能用什麼來獲得控制流中的series
行爲而不是集合迭代?
這讓我思考'async.whilst()'比'while'更有優勢嗎?以及是否有任何情況下實際的異步循環結構會有意義。 – hippietrail 2013-02-17 06:50:45
@hippietrail在你的'doStuff'是同步的情況下,一個簡單的'while'是更好的選擇。但是,如果'doStuff'是異步的,那麼'while'會有意義。 – JohnnyHK 2013-02-17 14:19:18
實際上我的getLine()是異步的,雖然我的僞代碼是「僞」來揭示( - ;所以我認爲還是有好處的,另一個我能想到的是邏輯計數和檢查循環應該隨着功能的增長而變成一個埋藏的細節。 – hippietrail 2013-02-18 05:57:00