【问题标题】:Delay Meteor subscribe until more resources are available延迟 Meteor 订阅,直到有更多资源可用
【发布时间】:2016-12-06 09:19:33
【问题描述】:

我有订阅用户和产品,它们分别提供大约 5000 和 7000 个文档。我使用这些数据在用户和产品表单中进行预先输入搜索。如果我们订阅表单渲染,那么表单加载时间太长,所以我们订阅 Meteor.startup,但这也会让我们的启动时间变慢。

我们如何才能在第一个屏幕加载完成后运行订阅而不接触第一个屏幕的代码?我不想在 firstScreen.onRender() 中订阅,因为根据输入的 url 可以有多个首屏。

我尝试在 Meteor.onStartup 中执行 Meter.defer,但没有成功。

或者,除了加载所有数据之外,有没有更好的方法来完成语义提前输入?

有什么想法吗?

【问题讨论】:

    标签: meteor meteor-blaze


    【解决方案1】:

    我强烈建议您使用“模板级订阅”模式,以确保您的数据已准备好用于模板。 这是解释这一点的链接 -> https://www.discovermeteor.com/blog/template-level-subscriptions/

    希望对你有帮助

    【讨论】:

    • 这就是问题所在...如果我在模板的 onCreated 内订阅,则模板加载时间过长。因此我想在我们到达之前订阅它,理想情况下客户不忙。
    • 我明白你的意思。但是,如果您在到达那里之前实现了一种加载数据的方法,那么您将不会真正获得性能提升。加载时间的总和将相同。我推荐一种新方法,您真的需要模板上的所有这些 5000、7000 个文档吗?部分加载怎么样?分页或滚动页面加载。您将改善加载时间,保证
    • 谢谢。我明白你所说的“总加载时间将是相同的”是什么意思。即使是相同的,如果在客户端不忙的时候完成,是否会被认为更快?是的,我们确实需要所有文档,因为它是语义提供的可搜索下拉列表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 2016-02-07
    相关资源
    最近更新 更多