2013-05-09 41 views
0

我讀書用fast-csv回調上( '數據')和( '結束'),並Mongoose.js

myFile.js

var count = 0; 
var stream = fs.createReadStream("name of file"); 
fcsv(stream) 
    .on('data', function(data) { 
    ModelName.find(query, function(err, docs) { 
     console.log('docs', docs); 
     count = count++; 
    }); 
    }) 
    .on('end', function() { 
    console.log('done', count); 
    }) 
    .parse(); 

劇本大.csv文件運行並打印出docs列表,並觸發on('end')

如何獲得count的值以打印出docs的數量?目前它打印出0

有什麼建議嗎?

回答

0

您用count變量混合了兩種不同的增量樣式。讓我們看看這個小例子來突出顯示:

var counter = 0 
for (var i = 0; i < 10; i++) { 
    counter = counter++ //<-- the bug is right here 
}; 
console.log(counter) // prints 0 

什麼情況是,counter++右邊是後增量。這意味着counter++的計算結果爲原始值counter(含義爲0)並將counter增加了1。之後,將原始值分配給左側counter

你想,而不是寫的是任何這些:

  • counter = ++counter
  • counter = counter + 1
  • counter++
  • counter += 1