跳转到主要内容

Response: textStream() method

{{APIRef("Fetch API")}}{{AvailableInWorkers}}{{SeeCompatTable}}

The textStream() method of the {{domxref("Response")}} interface returns a {{domxref("ReadableStream")}} that can be used to read the contents of the response body in chunks of UTF-8.

This provides an easier mechanism for streaming the response body than piping the {{domxref("Response.body")}} byte stream through a {{domxref("TextDecoderStream")}}.

[!NOTE] If invoked on a Response with a null body, for example a {{httpstatus(204)}} response, textStream() will return a valid empty stream.

Syntax

textStream()

Parameters

None.

Return value

A {{domxref("ReadableStream")}}.

Exceptions

Examples

Reading response body content as a text stream

This example shows how to read a response body as a text stream.

We {{domxref("fetch()")}} a URL to get a Response, obtain a ReadableStream of its body using textStream(), then read the text via a reader created using {{domxref("ReadableStream.getReader()")}}.

const pElem = document.querySelector("p");

async function streamResponseText(url) {
  const response = await fetch(url);
  const textStream = response.textStream();
  // instead of
  // const textStream = response.body.pipeThrough(new TextDecoderStream());

  const reader = textStream.getReader();

  while (true) {
    const { value, done } = await reader.read();
    if (done) break;
    pElem.textContent += value;
  }
}

streamResponseText("https://www.example.com");

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

  • {{domxref("ReadableStream")}}
  • {{domxref("ReadableStream.getReader()")}}
  • {{domxref("Request.body")}}
  • {{domxref("Request.textStream()")}}