3

如果应用程序应该在多个用户操作相同数据的较长时间内使用,则可能会发生一个用户在其本地缓存中的内容不再存在的情况。

例如,用户可能会查看带有评论的帖子,这些评论作为嵌套数据加载到帖子下。这意味着他一开始只会做一个请求GET /posts/1,但在那之后,帖子总是会从缓存中加载。

但是如果另一个用户发表评论,他永远不会发现,除非他重新加载整个页面,这将重置身份映射。

有什么方法可以让数据在一段时间后过期,例如每 5 分钟强制它重新加载一次?或者有没有我应该考虑解决这个问题的替代方法?

编辑:到目前为止,实际上没有任何方法可以做到这一点。我创建了一个拉取请求并继续处理它,并在完成后将结果作为答案发布在这里。

4

2 回答 2

0

使用setInterval文档)重新加载它。也许您可以在路由器中进行设置。进入路由器后,设置每 5 分钟重新加载一次模型的时间间隔(可能仅当它处于某种状态时)。退出路线时,清除间隔。

于 2012-12-24T15:00:43.700 回答
0

使用 websockets 将是一个更好的解决方案。不幸的是,目前还没有用于 Ember-data 的 websockets 适配器。

于 2012-12-23T08:33:58.090 回答