我的藏书里有60份文件,叫做“书籍”。每次我调用publishFunction
时,服务器都会从Books中返回10个随机文档。
以前,我刷新页面以让publishFunction
运行,一切都很正常(我在客户机上有10个随机文档),但是刷新需要一段时间&只是有点笨重。
现在,我从客户端调用Meteor.subscribe( 'publishFunction' )
动态刷新订阅,对onReady
回调中的新文档执行所需的操作。
但有个问题。
publishFunction
每次返回10个项目,保证(通过从服务器输出计数进行测试)。服务器正在按预期工作。
但在客户身上.我不会在客户身上弄到那10件新的东西。我将在第一次加载页面时(与以前一样)获得它们,但是每次从客户端调用publishFunction
(在调用Books._collection.remove({});
以清除旧文档之后),在客户机上显示的文档略少于10个(尽管publishFunction
同时返回10个文档)。
它通常是这样的: 10、7、5、3、2、0(在后续刷新后返回的项目#)。
我的书中没有很多文档,所以我的预感是本地缓存并没有被Books._collection.remove({});
真正清除。这就解释了新书数量逐渐减少的原因,因为Meteor仍然看到了缓存的文档,并且没有添加所有的10个项目,因为其中一些项目已经在那里了。
如何在不改变路由的情况下真正清除本地缓存?
编辑:我尝试过Arunoda的子管理器中的clear()
和reset()
,但是它没有执行trick...same行为。
发布于 2015-09-08 19:25:21
显然,stop()
方法也重新订阅了订阅,因此不需要进一步的Meteor.subscribe()
。问题解决了。
对我来说,这在医生中是很不清楚的。
https://stackoverflow.com/questions/32464495
复制相似问题