我使用流星+角度,我发布了一些数据,我已经订阅了它,但当我控制台日志时,结果是[]
这是我在mongodb中的数据
meteor:PRIMARY> db.site.find()
{ "_id" : "5wGu3EcSis9GJGmkf", "name" : "cc", "age" : 12 }
{ "_id" : "jEboHgEF4Hvp5rpg7", "name" : "bob", "age" : 20 }
并且我在server.js
中执行此操作
3 Meteor.publish('sitelist', function() {
4 ┊ return CheckSite.find();
5 });
我可以在chrome的控制台中获得一些东西
CheckSite.find().fetch()
[Object_id: "5wGu3EcSis9GJGmkf"age: 12name: "cc"__proto__: Object, Object_id: "jEboHgEF4Hvp5rpg7"age: 20name: "bob"__proto__: Object
我在client.js:中订阅了它
4 ┊ $meteor.subscribe('sitelist');
5 ┊ console.log(CheckSite.find().fetch());
像这样,我控制它,但它只是控制台中的[]
为什么,当我$meteor.subscribe('sitelist')
时我能做什么?
它正在记录[]
,因为订阅尚未准备好。要确定订阅何时准备好,您必须向它传递一个回调函数。然后在回调中执行依赖于订阅的代码。
$meteor.subscribe('sitelist', function(error, result) {
console.log(result.fetch());
});