我有一个Meteor应用程序,我希望能够在客户端对已发布的Collection所做的所有更改都写入服务器时检查客户端 .
我查看了minimongo和ddp-server中的代码,但是我没有看到任何简单的方法来判断更改是否已成功写入服务器 .
Minimongo概述了保存数据的过程:
-
用户在客户端上触发交互
-
模拟在本地将一些突变应用于状态
-
将触发RPC以在服务器上执行
-
一段时间后,RPC返回结果
-
经过一段时间后,RPC返回"updated"消息(在DDP级别上),这意味着来自RPC的所有更改都保持不变
-
此时我们知道,服务器的所有实际更改都已同步,我们可以丢弃模拟的突变(保留服务器的实际更改)
我可以覆盖 LocalCollection.prototype.saveOriginals
和 LocalCollection.prototype.retrieveOriginals
以了解它们何时被调用,但我不确定如何验证数据何时实际保存 . 即使Meteor服务器关闭, retrieveOriginals
也会被调用 .
是否还有其他地方可以挂钩回调或监听事件以了解更改何时同步?
1 回答
如果您正在寻求实施自定义观察,也许这可能会有所帮助:
http://docs.meteor.com/#/full/observe或http://docs.meteor.com/#/full/observe_changes
另外你和Meteor一起写了一下,我不知道怎么做,但是希望小费有所帮助; https://docs.mongodb.org/v3.0/reference/method/db.collection.save/