小编Tom*_*man的帖子

有没有办法知道流星订阅何时"有效"?

如果我更改Sessionvar并触发重新订阅autosubscribe,是否有任何回调机制要等到"最新"数据从服务器关闭?[1]

如果您看一下这个要点,您会看到一些代码随着订阅的变化而记录集合的内容.输出的相关部分:

at Subscribed; comments are: first post on #1 - second post on #1 
at Flushed; comments are: first post on #1 - second post on #1 
at Subscription complete; comments are: first post on #1 - second post on #1 - first post on #2 - second post on #2
Run Code Online (Sandbox Code Playgroud)

因此,即使在(a)呼叫之后.subscribe,(b)呼叫Meteor.flush(c)在onReady回调中.subscribe; 集合中仍有陈旧数据,只有第三种情况才是"正确"的数据.

我意识到反应模板.observe最终将收到正确的数据,并且事情将"稳定"到正确的状态.但是,有什么方法我们可以说我们还没有吗?

例如,大多数流星示例应用程序(以及我自己的应用程序)都倾向于略微抖动(类似于FOUC),而数据被添加+从订阅集合中删除.如果我们可以告诉订阅是"加载",我们可以对此做些什么.

[1]显然,服务器上的数据是不断变化的,但正如你在gist中看到的那样,我不能(没有超时)找到一个甚至是正确的点.因此我在问题中使用'有效'.

一个非常简单和常见的用例

带上madewith app; 当你第一次加载它时,似乎没有注册的应用程序,直到数据下线后,应用程序突然出现.

原因就是这个问题Meteor.subscribe已被调用,但数据还没有下线.但是模板没有简单的方法来告诉数据是否有待处理,并且它应该显示"加载"模板.在 …

publish-subscribe meteor

5
推荐指数
1
解决办法
1824
查看次数

标签 统计

meteor ×1

publish-subscribe ×1