7
爲什麼Meteor集合遊標foreach循環無法在下面的代碼中工作。如果我將這個循環包裝在Template.messages.rendered或Deps.autorun函數中,它就可以工作。我不明白爲什麼。Meteors集合光標forEach不起作用
Messages = new Meteor.Collection("messages");
processed_data = [];
if(Meteor.isClient) {
data = Messages.find({}, { sort: { time: 1 }});
data.forEach(function(row) {
console.log(row.name)
processed_data.push(row.name);
});
}
因此,這意味着當我們的瀏覽器加載應用程序時,集合還沒有準備好。我不明白「準備就緒」的含義。 – stariqmi 2013-04-23 04:38:39
該集合正在加載異步。這意味着它正在踢消息加載過程,然後像往常一樣繼續執行代碼。然後,您正試圖訪問該集合,但尚未加載到異步過程中。這意味着它還沒有準備好。 – jhbruhn 2013-04-23 18:33:43
在下面的代碼中,我嘗試了發佈/訂閱技術。工程,但全球處理陣列,我有,當我在瀏覽器控制檯訪問它,它是空的。如果我console.log裏面的訂閱回調,它是填充,但不是當我在控制檯中輸入它。 – stariqmi 2013-04-23 23:33:35