我正在制作一个使用Axios发出几十个AJAX请求的页面,这些请求有些慢,但这没关系,因为我正在使用Vue.js来显示传入的数据。页面的其余部分在30到60秒的过程中会很好并且反应灵敏。
现在,当用户采取其他措施也生成PUT或POST请求时,通常该请求直到它到达“它的 按照浏览器的指示“转”,这似乎使传出的XHR请求先到先服务。因此,由于正在进行的数据提取请求,此新操作被大大延迟了。
是否可以通过Axios或其他任何方法简单地将这十几个数据获取请求设为“低优先级”,以便任何其他新请求都可以立即获得下一个可用的传出HTTP连接?
我想我可以编写一些函数来处理排队,然后将请求发送到Axios,但这使我感到应该有一个更简单的方法。有什么想法吗?
答案 0 :(得分:1)
我必须实现一个自定义方案,其中我的Javascript代码使用const requestQueue = []
之类的数组和一个进行中的承诺const pendingRequestPromises = []
之类的勺子(通过axios)向我的AJAX请求提供浏览器。 。可能有几种不同的方法可以做到这一点;一种方法是在调用之前和每个请求的回调中更新每个数组;然后,当pendingRequestPromises.length
等于或大于某个阈值(例如3)时,请使用await
而不是即发即弃方法来调用下一个请求。这样,请求将以4个突发的形式发出,并且其他代码可以在这些突发之间运行。
这似乎是在那里的图书馆的工作...也许我应该写它?让我知道您是否可以使用这种东西。