Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor 如何让流星瞬间改变?_Meteor - Fatal编程技术网

Meteor 如何让流星瞬间改变?

Meteor 如何让流星瞬间改变?,meteor,Meteor,Meteor应该预加载Mongo客户端的一小部分,以便模拟对DB的更改。因此,当真正的数据库更新发生在后台时,对页面的任何更改都会立即发生 然而,在我的网站上,我看到对数据库进行更改的简单操作会延迟1-2秒,例如删除帖子 是否需要进行一些额外的编码以确保客户端模拟工作正常 正如Michel Floyd所指出的,如果meteor方法被定义为仅用于服务器的代码,那么就无法在客户端上模拟方法调用 尝试将Meteor方法声明移动到共享代码中,看看这是否会改变延迟时间 此外,如果没有看到一些代码和项目结构

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

然而,在我的网站上,我看到对数据库进行更改的简单操作会延迟1-2秒,例如删除帖子


是否需要进行一些额外的编码以确保客户端模拟工作正常

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

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


此外,如果没有看到一些代码和项目结构,问题可能会出现在其他地方…

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

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


此外,在没有看到一些代码和项目结构的情况下,问题可能会出现在其他地方…

如果您仅使用服务器端方法,请确保您的Mongodb已启用oplog跟踪,以便立即获取更改并发送到客户端。如果您像使用托管数据库一样使用免费的mlab,那么您可能没有oplog,meteor会返回定期查询数据库以检查更改。
但在任何情况下,如果该方法仅用于服务器端,则总是会有延迟。如本线程中所述,将方法定义移到服务器文件夹(如/lib)之外,以使该方法在客户端可用。

如果您仅使用服务器端方法,请确保您的Mongodb已启用oplog tailing,以便立即提取更改并发送到客户端。如果您像使用托管数据库一样使用免费的mlab,那么您可能没有oplog,meteor会返回定期查询数据库以检查更改。
但在任何情况下,如果该方法仅用于服务器端,则总是会有延迟。如本线程中所述,将方法定义移到服务器文件夹(如/lib)之外,以使该方法在客户端上可用。

Show code。您是否直接对客户机中的集合进行操作?使用
/lib
中的方法间接执行此操作?或者使用仅在服务器上的方法执行此操作?显示代码。您是否直接对客户机中的集合进行操作?使用
/lib
中的方法间接执行此操作?或者使用仅在服务器上的方法执行此操作?就是这样。方法是在/server中定义的。我将它们移动到/lib中,这就解决了它!就这样。方法是在/server中定义的。我将它们移动到/lib中,这就解决了它!