基本流星用户订阅不统计客户端服务器



我一直在搞流星7.1.1。只需要一些健全性检查,

所以基本上..

if (Meteor.isServer) {
  console.log("Count Server No: "+ Meteor.users.find().count());
  Meteor.publish("directory", function () {
    return Meteor.users.find();
  });
}
// server side results in Count Server No: 1
if (Meteor.isClient) {
  Meteor.subscribe("directory");
  console.log("Count Client No: " + Meteor.users.find().count());
}
// client returns Count Client No: 0

我已经看到了各种教程和其他可能的路线,但似乎有多种方法可以做到这一点。如果有人可以指出。将不胜感激。PS希望这对某人有所帮助。

客户端和服务器上的集合不会在订阅后立即同步,而是在后台异步同步。订阅对象有一个函数ready()如果初始一批数据已发送到客户端,则返回true

此外,订阅可以在定义onReadyonError事件期间进行回调。例如,仅提供 onReady 处理程序:

Meteor.subscribe("directory", function () { 
    alert('Count = ' + Meteor.users.find().count());
});

应显示正确的用户数。

最新更新