CNode

node循环处理异步操作除了通过流程控制以及递归之外还有没有其他的方式。

问答
Wweierbufan发布于10 年前最后回复10 年前10 回复5909 浏览0 收藏

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

来自酷炫的 CNodeMD

查看回复

回复 (10)

C
chrischjh#1·10 年前

bluebird比v8原生promise性能好很多

M
magicdawn#2·10 年前

for循环 + await/yield promise

W
weierbufan#4·10 年前
引用 magicdawnhttps://github.com/magicdawn/promise.map

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

来自酷炫的 CNodeMD

Z
zbinlin#5·10 年前
C
chrischjh#6·10 年前

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

W
weierbufan#7·10 年前
引用 chrischjh最简洁应该就是Promise.map推荐用bluebird

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

M
magicdawn#8·10 年前
引用 weierbufan@chrischjh 其实不是简介的问题。。主要是想问性能的问题

@weierbufan

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

H
huangyanxiong01#10·10 年前

Promise.map推荐用bluebird +1

参与回复
登录后即可参与回复。登录