node.js for for循环中的循环

时间:2014-05-20 08:55:07

标签: node.js asynchronous

我需要做某种算法,但我遇到For循环的问题。第一个问题是我不能在没有第一端的情况下执行两个For循环(一个在另一个内部),而不是等待第二个完成

for(i = ports_default; i <= ports_final; i++) {
        for(j=ports_default; j<= (ports_default + num_ports) ;j++){
            client.portUnmapping({public: j},function (err){
                if (err) {
                    callback(err);
                }
                else {          
                    console.log('Port ' + ports_default + ' unmapped');
                    ports_default= ports_default + 1;
                    if(ports_default == j) {
                        callback();
                    }
                }
            });                 
        }
        ports_default = ports_default + num_ports + 1;
}

我已经尝试过异步模块,但是找不到适合这个问题的解决方案,第二个问题是节点不会等待来自portUnmapping函数的响应,我的问题是如果这是一种方法来解决这个问题它以某种方式等待两个For循环结束(按照正确的顺序不完成第一个,然后是第二个)。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用灵活的资料库http://caolan.github.io/nimble/