跳到主要内容
CNode
查看回复

回复 (6)

Y
ym1623#613 年前

有两种解决方式,一种是用undersorce.js _.each或者其他的foreach函数,还有一种是用do(需传递的变量)...while语法要多了解javascript的特性及处理方式我相信你以后遇到类似的问题应该能轻松解决.

A
a272121742#513 年前
var flag = 0;
var array = [{},{},{},{}];
for(var i = 0; i < array.length; i++){
    //do something as async
    dao.create(array[i],function(err,doc){
        if(array.length == ++flag){
            //do something at last
        }
    });
}
S
softice#413 年前

个人觉得:js的for循环里面,如果需要非异步,不要把function放在循环中,而改用callback。

L
lenbo#313 年前

外面做个变量标记,在闭包中判断一下确定所有的循环都执行完了,然后再执行next函数.

N
neuront#213 年前

或者循环改递归

Y
yandaoyong#113 年前

谢谢

参与回复

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