Body.body

Experimental

Dies ist eine experimentelle Technologie
Da diese Technologie noch nicht definitiv implementiert wurde, sollte die Browserkompatibilit├Ąt beachtet werden. Es ist auch m├Âglich, dass die Syntax in einer sp├Ąteren Spezifikation noch ge├Ąndert wird.

Die schreibgesch├╝tzte body Eigenschaft des Body Mixin ist ein einfacher Getter, der dazu benutzt wird den Inhalt des Body als ReadableStream bereitzustellen.

Syntax

var stream = responseInstance.body;

Wert

Ein ReadableStream.

Beispiel

In unserem einfachen Stream-Pump-Beispiel rufen wir ein Bild ab, machen den Antwort-Stream mit response.body sichtbar, erstellen einen Reader mit ReadableStream.getReader() (en-US) und reihen die Teile des Streams in einen zweiten, benutzerdefinierten, lesbaren Stream ÔÇö wodurch wie eine exakte Kopie des Bilds erhalten.

const image = document.getElementById('target');

// Bild holen
fetch('./tortoise.png')
// Body als ReadableStream abrufen
.then(response => response.body)
.then(body => {
  const reader = body.getReader();

  return new ReadableStream({
    start(controller) {
      return pump();

      function pump() {
        return reader.read().then(({ done, value }) => {
          // Stream schlie├čen, wenn keine weiteren Daten verarbeitet werden m├╝ssen
          if (done) {
            controller.close();
            return;
          }

          // Das n├Ąchste Datenst├╝ck in unseren Ziel-Stream einreihen
          controller.enqueue(value);
          return pump();
        });
      }
    }
  })
})
.then(stream => new Response(stream))
.then(response => response.blob())
.then(blob => URL.createObjectURL(blob))
.then(url => console.log(image.src = url))
.catch(err => console.error(err));

Spezifikationen

Specification Status Comment
Fetch
Die Definition von 'body' in dieser Spezifikation.
Lebender Standard  

Browserkompatibilit├Ąt

BCD tables only load in the browser

Siehe auch