如何最好地解决显示流星集合前的延迟问题?

3
在显示集合中的项目之前,Meteor似乎会进行一些处理,导致客户端窗口没有更新。如果你使用一个合理的设备浏览http://madewith.meteor.com,你可以实时看到这个问题。我的2.6GHz 4GB RAM笔记本电脑需要大约5秒钟来渲染列表中的项目,在此期间没有任何进度指示,一个匆忙的新用户可能会认为页面已经完成加载。
是否有一种方法可以逐步显示集合中的项目,使服务器在传输数据时向客户端推送第一批数据项目,然后浏览器将其呈现,同时接收到新的数据项目?类似于HTTP的分块传输编码
还是唯一的解决方案是在加载集合时显示旋转图形,类似于https://atmosphere.meteor.com/所做的(“doing something smart”消息)?

这不是非常有意义的。它可能意味着太多的事情。也许你最好把它改成[tag:增量显示]或其他什么? - tshepang
1个回答

1

如果您检查madewith应用程序的xhr,您会发现所有(此时为87个)应用程序都在同一个请求中加载。因此,我认为“逐步”显示数据在这种情况下不会有帮助。

问题只是meteor应用程序需要一段时间来初始化。我不确定未来是否可以改进,但目前,是的,我认为显示旋转器是最好的解决方案。

关于如何知道何时准备好数据,您可以在集合上使用onReady回调,或者查看此PR以获取即将推出的更好的解决方案。


通过增量显示,我的意思是一种类似于HTTP的分块传输方法,客户端无需等待内容传输完成。 - Dan Dascalescu
嗯...但发送的HTML非常简单。JS很长且复杂(这与初始化“livedata-connection”的时间一起,无疑是导致缓慢的原因)。但我不确定浏览器是否支持增量JS加载(它们支持吗?) - Tom Coleman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接