使用Axios将某些XHR请求优先于其他请求



我正在制作一个页面,该页面使用Axios来发出几十个AJAX请求,这些请求有点慢,但没关系,因为我使用Vue.js只是在输入时显示数据。在30-60秒内,页面的其余部分都很好,响应迅速。

现在,当用户采取其他一些操作来生成PUT或POST请求时,通常该请求在到达"根据浏览器的指示,这似乎使传出的XHR请求先到先得。因此,由于正在进行的数据提取请求,这一新操作被大大延迟。

有没有办法通过Axios或任何其他方法简单地将这十几个数据获取请求设置为"低优先级",这样任何新的其他请求都可以立即获得下一个可用的传出HTTP连接?

我想我可以写一些函数来处理排队,然后用勺子把请求发送给Axios,但我觉得应该有一种更简单的方法。有什么想法吗?

我必须实现一个自定义方案,在该方案中,我的Javascript代码勺使用一个数组(如const requestQueue = [](和一个正在进行的承诺数组(const pendingRequestPromises = [](向浏览器提供我的AJAX请求。可以有几种不同的方法来做到这一点;一种方法是在调用之前和每个请求的回调中更新每个数组;则当pendingRequestPromises.length等于或大于阈值(比如3(时,用await而不是用即发即弃方法调用下一个请求。这样,请求是在4的突发中进行的,并且其他代码可以在突发之间运行。

这似乎是图书馆的工作。。。也许我应该写出来?如果你能用这样的东西,请告诉我。

最新更新