我可以检测浏览器的网络活动是否空闲吗?

时间:2015-11-05 11:30:26

标签: javascript angularjs ajax web-applications

在angularJS应用程序中,用户和服务器之间存在相当大的延迟(带宽也可能受限),因此当用户请求新页面时,它必须等待大约2-500毫秒才能加载。

我正在考虑在后台“预加载”模型数据,模板,脚本,但是如果没有用户请求的页面,则打算这样做。如果用户请求一个特定页面,我想停止预加载过程并加载用户明确请求的资源。

所以我的问题归结为:

  • 有没有办法发出ajax请求“只有”没有网络活动?
  • 有没有办法“暂停”当前运行ajax请求?或
  • 有没有办法优先处理ajax请求?

谢谢,

2 个答案:

答案 0 :(得分:0)

看来 https://nicedoc.io/pastelsky/network-idle-callback 会对您有所帮助。

它使用serviceWorker来观察网络调用,并在感知到网络空闲时调度事件。

npm install network-idle-callback

Usage

答案 1 :(得分:-1)

听起来像requestidlecallback就是你想要的。还有一个构建在顶部的软件包,可以公开您可以收听的事件:https://github.com/choojs/on-idle