代码如下:
回复 (20)
B
用async就好了。但是如果这种操作比较普遍代码就会爆炸的。看系统中这种操作是否比较普遍,如果普遍,建议封装成一个事件类来处理比较好的。
var helperClass = new HelperClass();
helperClass.run(FuncA).run(FuncB);
helperClass.on('FuncADone',callback);
helperClass.on('FuncBDone',callback);
helperClass.on('AllDone',callback);
I
A
I
A
I
A
for (var i in xxx) 不要漏了 var
D
引用 im-here@blackjack 问题已经解决了,我用的async.each。 不过我没看到有async.while啊,看了下github上文档里也只有whilst, doWhilst这2个。
@imhered async.map async.each都行吧
I
引用 blackjack果断使用async.while
@blackjack 问题已经解决了,我用的async.each。 不过我没看到有async.while啊,看了下github上文档里也只有whilst, doWhilst这2个。
B
果断使用async.while
I
H
I
H
引用 im-here@huangshaohui 有具体用法地址吗?
@imhered
你要把读取数据库promise化,每次读取数据库,return一个promise。
在循环里,将每次读取数据库创建的promise插入到一个数组里去。 然后将上面的这个数组作为Promise.all()的参数,此时这个Promise.all方法返回一个新的promise。
var promises = []; for(..) { promise.push(..); } Promise.all(promises).then(function(data){ // 当执行到这里的时候,循环读取数据库的工作已经做完了,通过data可以取读取数据库返回的值 });
I
H
Promise.all()
I
S
能eventproxy .all来处理
I
S
试试async.while
参与回复
登录后即可参与回复。登录