Как я могу использовать Ax ios для наблюдения за прогрессом длительного ответа? - PullRequest
0 голосов
/ 11 июля 2020

На своем сервере я запускаю процесс, результаты которого продолжаю писать в ответе. Когда я закончу, я отправляю 200. Получая доступ к URL-адресу напрямую через браузер, я вижу, как текст отображается постепенно, строка за строкой, когда я отправляю его с сервера.

При выполнении Ax ios .get однако (и как обычно, учитывая имя функции), я получаю основную часть текста только тогда, когда Ax ios наконец получил 200. Есть ли способ, используя Ax ios, получить и распечатать ответ по частям, поскольку он получает его с сервера?

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

1 Ответ

1 голос
/ 11 июля 2020

Если вы хотите придерживаться HTTP, единственное решение, которое я могу придумать, - это записать кусок данных, а также включить некоторый идентификатор в ответ, который позволит вам получить следующую часть ответа, а затем вы в основном продолжайте отправлять запросы API с идентификатором, который вы получаете в каждом предыдущем ответе, чтобы получить следующую часть. (Я не уверен, есть ли у этого метода имя)

Но я думаю, что лучшим решением было бы использовать WebSockets, тогда вы можете очень просто отправить все, что вам нужно, когда захотите, своему клиенту.

...