node循环处理异步操作除了通过流程控制以及递归之外还有没有其他的方式。
发布于 7 年前 作者 weierbufan 4326 次浏览 来自 问答

有一个需求就是不停从redis里面取数据。我想的就是使用async.dowhilst做循环操作。但是这个操作并不能很好的体现node的异步特性。。async.dowhilst相当于把异步变同步。不知道大神们是怎么用循环来处理异步的。

来自酷炫的 CNodeMD

10 回复

for循环 + await/yield promise

@magicdawn @magicdawn 谢谢。。还有其他的没。。

来自酷炫的 CNodeMD

最简洁应该就是Promise.map推荐用bluebird

@chrischjh 其实不是简介的问题。。主要是想问性能的问题

@weierbufan

Promise.map 提议提供 concurrency, 类似于 async.parallelLimit, 是比 async.dowhilst 单 concurrency 要好处理的 要是单论库性能, async.js 无疑是最好的, 但是怕你用性能最好的库写不出性能最好的代码…

@magicdawn 也许吧。。谢谢啊

Promise.map推荐用bluebird +1

bluebird比v8原生promise性能好很多

回到顶部