Body.body

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

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() 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