解决方案 »

  1.   

    试试async http://freewind.me/blog/20120515/917.html 或者 引入一个模块 把数挂在这个模块上呢? 我对Node也不是很熟、、、我的想法
      

  2.   

    看过async这个模块的api,找不到合适的解决办法
      

  3.   

    循环代码应该没问题吖   你把结果集添加到数组或者组成字符串 然后callback(字符串)
    后者先打印出结果集看看
      

  4.   

    你的意思是在循环外面写回调是吧?这样我试过了,会返回为空的,原因是:程序不等回调结果出来就执行了回调。后来我用了一个这样的方法:在query方法里面判断循环的次数,等循环执行结束就调用回调。虽然是实现了需求,但是感觉实现方式不是很好,不知道有没有更高效便捷的方法。
      

  5.   


    var list=[];
    for(var i=0;i<len;i++){
      //每个sql需要匹配的字段是len数组中的一个元素
      var sql='select '+len[i]+' from user';
      (function(sql,i,len){
      dbc.query(sql,function(err,data){
         //data是一个sql查询得到的结果
        list.push(data);
        if(i==len-1){
          callback(list);
        }
      });
      }(sql,i,len);
    }
      

  6.   

    node都是异步走的  如果使用同步应该可以的吧 不知道跟你的办法哪个好点 估计差不多  无法帮到你拉