自2天以來我面臨一個問題,我無法弄清楚如何解決它。我在forEach上有錯誤,所以我的應用程序運行良好,然後停止沒有任何說明。NodeJS - Events.js無法讀取屬性forEach undefined
以下是發生錯誤的代碼。
var easy = setInterval(function(){
keywords.forEach(function(k) {
tweetModel.find({keyword: k}).sort({date: -1}).limit(20).exec(function(err, data) {
var score = [];
var date = [];
console.log(data);
console.log(err)
data.forEach(function (item) {
score.push(Math.floor(parseFloat(item.score) * 1000)/1000);
date.push(item.date.getDate()+'/'+parseInt(item.date.getMonth() + 1)+'/'+item.date.getFullYear()+':'+parseInt(item.date.getHours() + 1)+':'+item.date.getMinutes());
tArrayStats[k] = score;
tArrayStats['date'] = date;
});
});
});
io.sockets.emit('stats',tArrayStats);
},3000);
錯誤在這裏拋出
data.forEach(function (item)
,但我想不通爲什麼!感謝您的幫助。
由於要求有控制檯日誌數據的輸出:
EDITED工作代碼,這要歸功於@Ids範德Zee的
var easy = setInterval(function(){
keywords.forEach(function(k) {
tweetModel.find({keyword: k}).sort({date: -1}).limit(20).exec(function(err, data) {
if (data && !err)
{
var score = [];
var date = [];
console.log(data);
console.log(err)
data.forEach(function (item) {
score.push(Math.floor(parseFloat(item.score) * 1000)/1000);
date.push(item.date.getDate()+'/'+parseInt(item.date.getMonth() + 1)+'/'+item.date.getFullYear()+':'+parseInt(item.date.getHours() + 1)+':'+item.date.getMinutes());
tArrayStats[k] = score;
tArrayStats['date'] = date;
});
}
});
});
io.sockets.emit('stats',tArrayStats);
},3000);
兩條線',那是什麼,它的輸出? –
更新我的帖子與輸出,然後當錯誤下降我得到了「undedifned」。我從twit回收數據 –
你顯示的數據似乎是一個數組中的對象---> [{}] – codemax