1. 程式人生 > >關於node.js中的並行性

關於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變數儲存它,這樣函式內還是可以得到值,但是得到的會出錯,嗯....奇怪.....

在這裡記錄一下...