关于node.js中的并行性

今天在写代码是遇到一个bug.


 for (var j = 1; j < scores.length; j++)
// var tmp = score[j];
 if (scores[j].length > 0){
              Upload.findOne({...},function(err, upload){
                 ...
                 ... scores[j][k] ........
              }
 

在使用scores[j][k]时,它已经为空了.实际上,这段代码原本最外层的for循环使用forEach写的,所以无碍.改为for之后就出了问题,因为此时外层的代码已经执行完毕了. 当然,之前有过用tmp变量存储它,这样函数内还是可以得到值,但是得到的会出错,嗯....奇怪.....


在这里记录一下...

你可能感兴趣的:(关于node.js中的并行性)