Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. ReadableStream
  4. getReader()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

ReadableStream: getReader() Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since Januar 2019.

Hinweis: Diese Funktion ist inWeb Workers verfügbar.

DiegetReader() Methode derReadableStream Schnittstelle erstellt einen Leser und sperrt den Stream darauf. Solange der Stream gesperrt ist, kann kein anderer Leser erworben werden, bis dieser freigegeben wird.

Syntax

js
getReader()getReader(options)

Parameter

optionsOptional

Ein Objekt, das die folgenden Eigenschaften enthält:

modeOptional

Eine Eigenschaft, die den Typ des zu erstellenden Lesers angibt.Die Werte können sein:

  • "byob", was dazu führt, dass einReadableStreamBYOBReader erstellt wird, der lesbare Bytestreams lesen kann (Streams, die null-Kopierübertragung von einer zugrunde liegenden Bytequelle zum Leser unterstützen, wenn die internen Stream-Puffer leer sind).
  • undefined (oder überhaupt nicht angegeben — dies ist der Standard), was dazu führt, dass einReadableStreamDefaultReader erstellt wird, der einzelne Chunks von einem Stream lesen kann.

Rückgabewert

Ein Objektinstanz vonReadableStreamDefaultReader oderReadableStreamBYOBReader, abhängig vommode Wert.

Ausnahmen

RangeError

Wird ausgelöst, wenn der angegebene Moduswert nicht"byob" oderundefined ist.

TypeError

Wird ausgelöst, wenn der Stream, für den Sie einen Leser erstellen möchten, bereits gesperrt ist oder keinReadableStream ist.Dies wird auch ausgelöst, wenn ein BYOB-Leser angefordert wird und der Stream-Controller keinReadableByteStreamController ist (der Stream wurde nicht als zugrunde liegende Quelle mittype="bytes"konstruiert).

Beispiele

Im folgenden einfachen Beispiel wird ein zuvor erstellter benutzerdefinierterReadableStream gelesen, indem einReadableStreamDefaultReader mitgetReader() erstellt wird.(Siehe unsereinfaches Zufalls-Stream-Beispiel für den vollständigen Code).Jedes Chunk wird nacheinander gelesen und in die Benutzeroberfläche ausgegeben, bis der Stream vollständig gelesen wurde, woraufhin wir aus der rekursiven Funktion zurückkehren und den gesamten Stream an einem anderen Teil der Benutzeroberfläche ausgeben.

js
function fetchStream() {  const reader = stream.getReader();  let charsReceived = 0;  // read() returns a promise that resolves  // when a value has been received  reader.read().then(function processText({ done, value }) {    // Result objects contain two properties:    // done  - true if the stream has already given you all its data.    // value - some data. Always undefined when done is true.    if (done) {      console.log("Stream complete");      para.textContent = result;      return;    }    // value for fetch streams is a Uint8Array    charsReceived += value.length;    const chunk = value;    let listItem = document.createElement("li");    listItem.textContent = `Received ${charsReceived} characters so far. Current chunk = ${chunk}`;    list2.appendChild(listItem);    result += chunk;    // Read some more, and call this function again    return reader.read().then(processText);  });}

Spezifikationen

Specification
Streams
# ref-for-rs-get-reader⑤

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp