【发布时间】:2014-08-02 07:33:13
【问题描述】:
我正在编写一个通过 DDP 连接到 Meteor 服务器以读取数据的软件。
我面临的问题是弄清楚如何区分添加到集合中的新文档和收到有关已存在文档的通知。
当我第一次连接到服务器时,我会收到一系列 added 消息来填充客户端集合。我不知道如何区分这些消息和后来的消息,表明新文档已实时添加。当 DDP 客户端需要重新连接到服务器时,情况会变得更糟,此时所有当前文档都会再次作为 added 消息发送。
【问题讨论】:
-
这是一个反复出现的问题。这个解决方案对你有用吗? stackoverflow.com/questions/10218534/…
-
这有点不同,因为这个问题(以及它所链接的问题)都在谈论编写直接 Meteor 代码,而不是在客户端应用程序中使用 DDP。但它可能足够接近,可以像骗子一样关闭。最重要的是,看来我需要做的是自己在自己的代码中找出区别(可能通过在新文档中包含时间戳)。我希望有一个内置的实用程序来做到这一点。
-
我的直觉是,您应该在
ready消息到达该订阅ID 之前忽略added的所有内容。我很确定这是触发链接^2 示例中提到的Meteor.subscribe回调的原因。但是,我不相信这个ready消息实际上可以保证在所有初始added消息之后到达,这意味着这种技术可能不可靠。如果您想要一个示例,请告诉我,我会很乐意发布。我也很想知道千年发展目标的建议!
标签: javascript meteor ddp