如何使用Axios监视长时间响应的进度



在我的服务器上,我正在启动一个进程,我会将其结果写入响应中。当我完成后,我发送200。通过浏览器直接访问URL,当我从服务器发送文本时,我会看到文本一行一行地逐渐显示。

然而,在执行Axios.get时(根据函数名称,这是正常的(,我只在Axios最终收到200时收到了大部分文本。有没有任何方法,使用Axios;当它从服务器接收到响应时,将其分块打印?

Axios.get(backendURL + "package/pios", {
headers: { Authorization: "Bearer " + myToken },
}).then((res) => {
//Doing something only when the response ends. 
});

如果你想坚持使用HTTP,我唯一能想到的解决方案是写一大块数据,并在响应中包含一些标识符,这将使你获得响应的下一部分,然后你基本上继续发送API请求,使用你在每个前一个响应中获得的标识符来获得下一部分。(我不确定这种方法是否有名字(

但我认为最好的解决方案是使用WebSockets,然后你可以非常简单地随时向你的客户发送你需要的任何东西。

最新更新