gpt4 book ai didi

javascript - 我如何限制 angularjs 中的 $http 请求?

转载 作者:数据小太阳 更新时间:2023-10-29 04:46:06 25 4
gpt4 key购买 nike

我正在使用 angularjs 为数据导入器构建 UI。 Angular 应用程序将处理输入数据源(电子表格或其他)并将 GET/POST 发送到 API 以在服务器上创建/更新记录并检索更改等。

如果用户正在导入数千条记录,我可能不希望一次打开数千个 ajax 调用(并不是说 Angular 能够在第一次完成之前发出所有请求)。我的想法是添加某种连接池,以便可以将其限制为一次仅 10 或 50 次左右的 ajax 调用。

angular 是否已经内置了限制 ajax 调用的方法?我知道我可以毫不费力地 build 一个,但如果已经有一些光滑的东西,我不想重新发明轮子。谁能为此推荐任何工具/插件?我知道有一些用于 jquery,但我希望在这个项目中尽可能避免使用 jquery。

最佳答案

在进一步调查中,我发现,根据 this questionthis page ,浏览器会自动将对同一服务器的 http 请求限制在 6 到 13 个并发请求之间,并且它们会排队额外的请求,直到其他请求完成。所以,显然,不需要任何操作,我可以让我的代码飞起来。

我看了angular-http-throttler (由 nathancahill 建议),但是(1)它似乎复制了浏览器自己已经在做的事情,并且(2)它(目前)似乎没有处理错误情况的机制,所以如果服务器没有响应,或者如果它是一个错误的请求,它不会减少请求计数,从而永久阻塞它的队列。

如果处理非常大量的数据,让浏览器一次排队过多的请求仍然会导致内存/性能问题。我研究了在 javascript 中创建固定长度队列的各种技术,当队列点可用时它可以触发回调,但是 javascript 的非阻塞特性使这样的队列变得棘手和脆弱......希望我不需要朝那个方向发展(我没有处理那么多数据),浏览器的节流对我来说就足够了。

关于javascript - 我如何限制 angularjs 中的 $http 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26596835/

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