Используйте fetch, чтобы получить результаты HTTP до окончания запроса

Максим

Я пытаюсь использовать /api/streamконечную точку сервера Drone 1.0. Эта конечная точка поддерживает HTTP-соединение открытым и просто передает новые предстоящие события, чтобы уведомить потребителя о событиях.

Я пробовал с этим фрагментом кода, используя javascript Fetch API

 await fetch("https://drone.company.com/api/stream/", {
    headers
  })
    .then(function(response) {
      return response.text();
    })
    .then(function(data) {
      console.log(data);
    });

Этот код работает хорошо, но thenобратный вызов всегда вызывается после завершения запроса.

Есть ли способ получить поток тела, полученного во время обработки запроса?

Skyboyer

ты можешь читать response.getReader()как

let response = await fetch("https://drone.company.com/api/stream/", {
    headers
  });

const reader = response.body.getReader();

while(true) {
  const {done, value} = await reader.read();

  if (done) {
    break;
  }
  const text = new TextDecoder("utf-8").decode(value);
  console.log(`Received ${text}`)
}

нам нужно использовать, TextDecoderпоскольку он valueсодержит данные Uint8Array, а не текст. Не поддерживается IE. тоже fetch не поддерживается .

на основе https://javascript.info/fetch-progress

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

http fetch дает другой статус, чем сеть?

Как отменить запрос HTTP fetch ()?

Как отказаться от отправки HTTP / 2-сервера при использовании fetch?

Aurelia Http fetch возвращает кешированные данные

Fetch API: получение заголовка, ключевых слов и основного текста из HTTP-ответа

Как получить тело ответа с помощью fetch в случае ошибки HTTP 422?

Как получить тело ответа с помощью fetch в случае ошибки HTTP 422?

Возьмите рабочий http-запрос на получение (сторонний api) и используйте вместо него fetch, но подпись не соответствует

Получение настраиваемого сообщения об ошибке с использованием fetch api, когда статус ответа HTTP равен 400

Используйте fetch (), прочтите тело ответа из кодов состояния, отличных от HTTP OK, и перехватите исключение

Как отправлять HTTP-заголовки в ReactJS с помощью fetch ()

Как преобразовать fetch () в HTTP-запросы XML?

Как НЕ получать один элемент в массиве с помощью angularjs $ resource / $ http fetch?

Как сохранить данные в переменной из HTTP-запроса с помощью Node Fetch?

Transaction behavior for http fetch calls

expressja сделать http-запрос, используя xhr или fetch

Angular: Http vs fetch api

HTTP PUT PNG с Fetch API

Соответствуют ли фрагменты Response.body в Fetch фрагментам HTTP?

Обратный вызов сбоя HTTP для UrlFetchApp.fetch () в аддоне gmail

Ionic3 - "данные не определены" #Fetch #Http

aurelia http-fetch-client нет контроля доступа для tumblr api

Как отобразить изображение, отправленное через HTTP (Node.js) в Front End с помощью Fetch?

React Native Android HTTP Fetch Fails

Javascript Fetch API слишком быстрый; завершается перед вторым HTTP-запросом (выборка api)

React Native Fetch () с FormData () HTTP TypeError: сбой сетевого запроса

Как обрабатывать ответы HTTP-кода 4xx в fetch api

Безопасность параметров URL-адреса HTTP для UrlFetchApp.fetch ()

React Express Fetch Post Ошибка CORS: ответ на предпечатный запрос не проходит проверку контроля доступа: он не имеет статуса HTTP ok

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    Merging legends in plotly subplot

  3. 3

    Проблема с window.print в Safari

  4. 4

    migrate MongoDB container service - mongodump command not found

  5. 5

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  6. 6

    QString удалить последние символы

  7. 7

    JetBrains Rider enable-migrations для ASP.NET MVC на Mac

  8. 8

    Почему `curve_fit` не может оценить ковариацию параметра, если параметр подходит точно?

  9. 9

    Ошибка XDG0062: не удалось установить «Контент». в режиме навигации MUXC

  10. 10

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  11. 11

    Как загрузить ZIP-файл в Nexus с помощью Maven и избежать создания артефакта pom в Nexus?

  12. 12

    Flutter: Unhandled Exception: FileSystemException: Creation failed, path = 'Directory: '' (OS Error: Read-only file system, errno = 30)

  13. 13

    How to convert C++/CLI string to const char*

  14. 14

    Установка pip с использованием Python 2.7, установленного в ArcGIS

  15. 15

    Symfony 4, Postgres - `Неверное значение параметра client_encoding:« utf8mb4 »` при выполнении команды doctrine

  16. 16

    HTML Body говорит cz-shortcut-listen = "true" с инструментами разработчика Chrome?

  17. 17

    Реакция Как условно переопределить цвет ошибки TextField в Material-UI?

  18. 18

    Перебирайте несколько столбцов в фрейме данных Panda и находите уникальные значения подсчета

  19. 19

    Qt - не растягивать виджеты в QVBoxLayout

  20. 20

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  21. 21

    ViewPager2 мигает / перезагружается при смахивании

популярныйтег

файл