我正在创建一些使用ajax来获取页面信息的插件。现在有不同的插件可以实现不同的功能。
所有的插件都需要作为独立使用,但我也想添加的功能,他们可以很好地在一起工作。
所有不同的插件都有自己的JavaScript文件和函数。这在HTTP请求方面没有问题,因为当网站耗尽时,大多数人都有将所有文件合并为一个文件的插件。
--
现在是我的问题了。正如我所说的,不同的插件会得到网站的不同部分。例如,帖子计数,用户推文,用户统计,帖子评论。
现在,我可以指定从网站调用此信息的优先级。我认为不能将它们全部合并到一个ajax调用中,因为它们都是单独的工作组件。
谁知道一个很好的解决方案,我怎么才能先得到评论,之后的统计数据,等等。
我选择的JS框架是jQuery。
发布于 2011-11-15 03:19:26
一种通用的方法是为挂起的AJAX调用实现一个优先级队列。每个插件都会将它们的调用放在队列中,并为调用分配一个相关的优先级,而AJAX队列处理器将按照优先级的顺序处理队列。
下面是一个jQuery优先级队列插件的例子:
http://benalman.com/code/projects/jquery-message-queuing/docs/files/jquery-ba-jqmq-js.html
另外,这里有一个已经为AJAX请求实现的:
发布于 2018-10-11 23:09:59
2020年更新
2018答案
在XMLHttpRequest和window.fetch调用上设置明确的优先级仍然是不可能的,但是有一个由谷歌推动的新的API提议叫做“优先级提示”。
https://wicg.github.io/priority-hints/#examples
到目前为止,任何浏览器都不支持它;Chrome 70 has shipped an experimental implementation behind the flag.
减少来自非关键获取应用编程接口请求的网络争用
可以使用优先级提示来降低非关键Fetch API请求的优先级,以避免它们与更重要的请求竞争。
新闻站点对文章内容发出关键的Fetch API请求,最终可能会与对不太重要的资源(如相关内容)的请求发生冲突。通过使用第二个Fetch请求的重要性属性,我们可以提示该请求的优先级较低,从而减少了它与文章内容的Fetch请求竞争的机会。我们还可以显式地声明第一个请求的优先级很高,这样获取请求还没有高优先级的浏览器就会知道它对页面很重要。
https://stackoverflow.com/questions/8126777
复制相似问题