Spec-Zone.ru › Web APIs

Ответ: свойство bodyUsed

Базовая Широко доступная

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2017 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Web Workers.

bodyUsed только для чтения свойство интерфейса Response — это булево значение, которое указывает, была ли прочитана информация тела ответа.

Значение

Булево значение.

Примеры

Проверка bodyUsed

Этот пример демонстрирует, что чтение тела ответа изменяет значение bodyUsed с false на true.

Пример содержит пустой образ изображения.

Когда JavaScript-код примера выполняется, он запрашивает изображение и присваивает возвращённую промис переменной responsePromise.

Когда пользователь нажимает «Использовать ответ», мы проверяем, был ли ответ уже использован. Если да, выводим сообщение. Если нет, читаем тело ответа и используем его для задания значения атрибута src изображения.

HTML

<button id="use">Use response</button>
<button id="reset">Reset</button>
<br />
<img id="my-image" src="" />
<pre id="log"></pre>

JavaScript

const useResponse = document.querySelector("#use");
const reset = document.querySelector("#reset");
const myImage = document.querySelector("#my-image");
const log = document.querySelector("#log");

const responsePromise = fetch(
  "https://upload.wikimedia.org/wikipedia/commons/7/77/Delete_key1.jpg",
);

useResponse.addEventListener("click", async () => {
  const response = await responsePromise;
  if (response.bodyUsed) {
    log.textContent = "Body has already been used!";
  } else {
    const result = await response.blob();
    const objectURL = URL.createObjectURL(result);
    myImage.src = objectURL;
  }
});

reset.addEventListener("click", () => {
  document.location.reload();
});

Результат

Изначально для изображения нет значения. Если вы нажмёте «Использовать ответ» один раз, тогда bodyUsed равно false, поэтому мы читаем ответ и устанавливаем изображение. Если затем вы снова нажмёте «Использовать ответ», тогда bodyUsed равно true, и мы выводим сообщение.

Нажмите «Сбросить», чтобы перезагрузить пример и попробовать снова.

Спецификации

Спецификация
Fetch
# ref-for-dom-body-bodyused①

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
bodyUsed 42 14 39 29 10.1 42 39 29 10.3 4.0 42

См. также

  • API сервисных рабочих процессов
  • Контроль доступа по HTTP (CORS)
  • HTTP

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Response/bodyUsed

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API