在流星,我如何使用订阅数据,我可以控制台



我使用流星+角度,我发布了一些数据,我已经订阅了它,但当我控制台日志时,结果是[]

这是我在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());
});

相关内容

最新更新