【发布时间】:2013-01-18 17:23:37
【问题描述】:
我在我的一个项目中使用骨干网,集成了与外部 API 的通信。我想使用实时更新记录。由于我无法访问此外部应用程序的主后端,并且它们既不提供 websocket 服务器也不提供长轮询端点,因此我基本上可以选择使用 setInterval 和 50 秒的周期进行定期轮询.它一直运作良好。我的问题是边缘情况。如果由于某种原因 API 请求挂起超过 50 秒,比方说,我将立即触发一个新请求。这意味着,现在有 2 个挂起的请求,最终会加起来。有没有办法为请求设置超时?我知道所有请求都会导致 Backbone.sync,但我正在检查源代码,我没有看到任何可行的方法来设置 XmlHttpRequest 的超时。有没有办法干净地做到这一点而不覆盖行为?还是有其他解决方案/解决方法?
【问题讨论】:
-
“我知道所有请求都会导致 Backbone.sync” - 我认为这里更重要的事实是所有事件都会导致
$.ajax()!解决了很多关于主干网fetch()和sync()请求的问题。
标签: ajax backbone.js real-time polling