gpt4 book ai didi

collections - 路由器 waitOn 等待每次渲染的订阅

转载 作者:行者123 更新时间:2023-12-04 17:49:16 27 4
gpt4 key购买 nike

我有一 strip 有 waitOn 的路线返回 Meteor.subscribe 的钩子(Hook).每次触发路线时,我都会从我的 loadingTemplate 中看到微调器在看到实际数据之前简要介绍一下。

我会以为我只需要等待订阅下载一次,即第一次?

如果我做错了,请提出更好的方法。

最佳答案

看看 this issue 上的最后评论. Chris 解释说,一旦您离开激活它们的路由,路由器发起的订阅就会停止。这意味着更改路由会导致您的订阅不断启动和停止,这解释了您所看到的行为。以下是一些选项:

在路由器之外开始订阅

将订阅放入您的路由器具有延迟订阅直到需要时的好处。但是,您还要支付在路线运行之前没有数据的惩罚。考虑在路由器之外激活您的一些订阅,如下所示:

Tracker.autorun(function() {
if (Meteor.user()) {
Meteor.subscribe('posts');
}
});

不要等待订阅

您可以将订阅添加到您的路线 before钩。见示例 here .当您需要数据但不必等待时,您可以获得订阅的好处。缺点是您可能需要添加一些 guards到您的代码以防止您的数据尚未加载。

使用订阅管理器

看看 subs-manager (文档 here)。这是一个包来帮助解决这个确切的问题。我们在生产中使用它,它确实有助于增加我们在路由之间的订阅重用。一句话忠告 - cacheLimitexpireIn有相当保守的默认值,所以如果你有很多共享订阅,你应该考虑增加这些。

关于collections - 路由器 waitOn 等待每次渲染的订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21290750/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com