2

我仍在尝试了解 Meteor 的整个发布/订阅方面。

这是我想要实现的要点。

在服务器端,在“Meteor.startup”,我从博客中获取 RSS 提要。这部分有效。基本上,我的服务器代码看起来像

Items = new Meteor.Collection "items"

Meteor.startup ->
  ..
  .. # code for fetching the RSS feeds
  ..
  for each feed
    Items.insert
      title:item.title

  console.log Items.find().count() # this returns the correct count

  Meteor.publish "items", ->
    Items.find()

现在我已经发布了“项目”,我想从客户端订阅它。

Items = new Meteor.Collection "items"
Meteor.subscribe("items")
console.log Items.find().count()

但上面给了我“0”。

我究竟做错了什么?

4

1 回答 1

3

订阅是异步的,您需要通过回调函数等待订阅完成,然后再尝试访问集合中的数据。Javascript 中的示例:

Meteor.subscribe('items', function () {
    console.log(Items.find().count());
});
于 2012-10-28T00:12:53.617 回答