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

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidEdge MobileFirefox für AndroidOpera für AndroidSafari auf iOSSamsung Internet
body
Experimentell
Chrome Vollständige Unterstützung 52Edge Vollständige Unterstützung JaFirefox Vollständige Unterstützung 65
Vollständige Unterstützung 65
Vollständige Unterstützung 57
Deaktiviert
Deaktiviert From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 39Safari Keine Unterstützung NeinWebView Android Vollständige Unterstützung 52Chrome Android Vollständige Unterstützung 52Edge Mobile ? Firefox Android Vollständige Unterstützung 65
Vollständige Unterstützung 65
Vollständige Unterstützung 57
Deaktiviert
Deaktiviert From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Vollständige Unterstützung 41Safari iOS Keine Unterstützung NeinSamsung Internet Android Vollständige Unterstützung 6.0

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Keine Unterstützung  
Keine Unterstützung
Kompatibilität unbekannt  
Kompatibilität unbekannt
Experimentell. Das Verhalten kann sich zukünftig ändern.
Experimentell. Das Verhalten kann sich zukünftig ändern.
Benutzer muss dieses Feature explizit aktivieren.
Benutzer muss dieses Feature explizit aktivieren.

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Mitwirkende an dieser Seite: mdnwebdocs-bot, SebinNyshkim
Zuletzt aktualisiert von: mdnwebdocs-bot,