node循环处理异步操作除了通过流程控制以及递归之外还有没有其他的方式。
有一个需求就是不停从redis里面取数据。我想的就是使用async.dowhilst做循环操作。但是这个操作并不能很好的体现node的异步特性。。async.dowhilst相当于把异步变同步。不知道大神们是怎么用循环来处理异步的。
来自酷炫的 CNodeMD
10 回复
for循环 + await/yield promise
@magicdawn @magicdawn 谢谢。。还有其他的没。。
来自酷炫的 CNodeMD
最简洁应该就是Promise.map推荐用bluebird
@chrischjh 其实不是简介的问题。。主要是想问性能的问题
Promise.map 提议提供 concurrency, 类似于 async.parallelLimit, 是比 async.dowhilst 单 concurrency 要好处理的 要是单论库性能, async.js 无疑是最好的, 但是怕你用性能最好的库写不出性能最好的代码…
@magicdawn 也许吧。。谢谢啊
Promise.map推荐用bluebird +1
bluebird比v8原生promise性能好很多