流行的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