在Meteor.publish
的回调函数中,我们返回游标。那么这是否意味着当我们在客户端上进行预订时,仅将最小量的数据传输到客户端?
仅当我们在客户端上执行cursor.fetch
或cursor.forEach
之类的操作时,收集数据实际上才被推送到客户端上吗?
谢谢!
最佳答案
Meteor.publish
中定义的所有内容都将发送给客户端:
例如,如果您有
Meteor.publish("rooms", function() {
return Rooms.find();
});
查询
Rooms.find()
的整个结果将向下发送到客户端。 .fetch()
仅从游标中获取所有数据,这有助于停止循环遍历所有不必要的数据(在内存中)。游标的获取/转发不会影响服务器的订阅和数据。要控制发生在客户端的内容,您需要明确告知订阅/发布要发布到客户端的内容。关于流媒体的一个很好的例子是subscribe下的流星文档中的Chat&Rooms示例。
关于javascript - 在Meteor.subscribe之后,有多少数据加载到客户端上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17070535/