sta*_*qmi 7 collections foreach cursor meteor
为什么Meteor集合游标foreach循环在下面的代码中不起作用.如果我将循环包装在Template.messages.rendered或Deps.autorun函数中,它就可以工作.我不明白为什么.
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);
});
}
Run Code Online (Sandbox Code Playgroud)
Jos*_*mar 11
代码运行时,消息收集尚未就绪.
尝试这样的事情:
Messages = new Meteor.Collection("messages");
if(Meteor.isClient) {
processed_data = [];
Deps.autorun(function (c) {
console.log('run');
var cursor = Messages.find({}, { sort: { time: 1 }});
if (!cursor.count()) return;
cursor.forEach(function (row) {
console.log(row.name);
processed_data.push(row.name);
});
c.stop();
});
}
Run Code Online (Sandbox Code Playgroud)
其他方案:
只需玩订阅!您可以将onReady回调传递给订阅 http://docs.meteor.com/#meteor_subscribe
| 归档时间: |
|
| 查看次数: |
7921 次 |
| 最近记录: |