如何让流星瞬间变化?

时间:2016-03-23 18:13:14

标签: meteor

Meteor应该预先加载Mongo客户端的一小部分,以便它可以模拟对DB的更改。因此,当真正的数据库更新在后台进行时,对页面进行任何更改都会立即发生。

但是,在我的网站上,我看到对更改数据库的简单操作有1-2秒的延迟,例如删除帖子。

是否需要进行一些额外的编码以确保客户端仿真工作?

2 个答案:

答案 0 :(得分:1)

正如Michel Floyd所指出的,如果您的meteor方法被定义为仅服务器代码,则无法在客户端上模拟方法调用。

尝试将Meteor方法声明移动到共享代码中,看看是否会改变延迟时间。

另外,在没有看到某些代码和项目结构的情况下,问题可能就是......

答案 1 :(得分:1)

如果您仅使用服务器端方法,请确保您的Mongodb启用了oplog尾部,以便立即获取更改并将其发送到客户端。如果你像托管数据库一样使用,比如免费的mlab,你可能没有oplog,流星会回来定期查询数据库以检查更改。 但无论如何,如果该方法只是服务器端,那么您将始终有延迟。就像在这个线程中提到的那样,将方法定义移到服务器文件夹之外(比如/ lib)só该方法在客户端上可用。