gpt4 book ai didi

ajax - Backbone.js:为 Backbone.sync 实现定义超时

转载 作者:行者123 更新时间:2023-12-04 00:35:56 26 4
gpt4 key购买 nike

我在我的一个项目中使用主干,与与外部 API 的通信集成。我想使用记录的实时更新。由于我无权访问此外部应用程序的主后端,并且它们既不提供 websocket 服务器也不提供长轮询端点,因此我基本上可以选择使用 setInterval 和 50 秒的时间进行定期轮询.它一直工作得很好。我的问题是边缘情况。如果由于某种原因 API 请求挂起超过 50 秒,比方说,我将立即触发一个新请求。这意味着,现在有 2 个挂起的请求,最终会加起来。有没有办法为请求设置超时?我知道所有请求都会导致 Backbone.sync,但我正在检查源代码,我没有看到任何设置 XmlHttpRequest 超时的可行方法。有没有办法干净利落地做到这一点,而不会覆盖行为?或者是否有其他解决方案/解决方法?

最佳答案

只需通过 timeout:milliseconds options 中的选项论据 fetch .选项直接传递给 jQuery.ajax ,它处理低级 XHR 调用:

 collection.fetch({timeout:50000});

或者,您可以通过调用 jQuery.ajaxSetup 为应用程序发出的所有请求设置全局超时。在您的应用程序启动中:
$.ajaxSetup({timeout:50000});

关于ajax - Backbone.js:为 Backbone.sync 实现定义超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14404267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com