Spec-Zone.ru › Web APIs

ReadableStream: метод pipeTo()

Примечание: Эта функция доступна в Потоках выполнения JavaScript (Web Workers).

Метод pipeTo() интерфейса ReadableStream передаёт текущий ReadableStream в заданный WritableStream и возвращает Promise, который выполняется при успешном завершении процесса передачи или отклоняется, если возникли какие-либо ошибки.

Передача потока обычно блокирует его на время передачи, что предотвращает блокировку другими читателями.

Синтаксис

pipeTo(destination)
pipeTo(destination, options)

Параметры

destination

WritableStream, который является конечным пунктом назначения для ReadableStream.

options Необязательно

Параметры, которые должны быть использованы при передаче в поток writable. Доступные параметры:

preventClose

Если это установлено в true, закрытие исходного потока ReadableStream больше не вызовет закрытие целевого потока WritableStream. Метод вернёт выполненное обещание после завершения этого процесса, если при закрытии целевого потока не возникнет ошибка, в противном случае он будет отклонен с этой ошибкой.

preventAbort

Если это установлено в true, ошибки в исходном потоке ReadableStream больше не будут прерывать целевой поток WritableStream. Метод вернёт обещание, отклоненное с ошибкой исходного потока или любой ошибкой, возникшей при прерывании целевого потока.

preventCancel

Если это установлено в true, ошибки в целевом потоке WritableStream больше не будут отменять исходный поток ReadableStream. В этом случае метод вернёт обещание, отклоненное с ошибкой исходного потока или любой ошибкой, возникшей при отмене исходного потока. Кроме того, если целевой поток начинает быть закрытым или закрывается, исходный поток больше не будет отменён. В этом случае метод вернёт обещание, отклоненное с ошибкой, указывающей на то, что передача в закрытый поток не удалась, или с любой ошибкой, возникшей при отмене исходного потока.

signal

Если установлено в объект AbortSignal, текущие операции передачи могут быть прерваны с помощью соответствующего объекта AbortController.

Возвращаемое значение

Promise , который разрешается при завершении процесса передачи.

Исключения

TypeError

Объекты writableStream и/или readableStream не являются потоком чтения/записи или один или оба потока заблокированы.

Примеры

// Fetch the original image
fetch("png-logo.png")
  // Retrieve its body as ReadableStream
  .then((response) => response.body)
  .then((body) => body.pipeThrough(new PNGTransformStream()))
  .then((rs) => rs.pipeTo(new FinalDestinationStream()));

Тот же пример, но с использованием await:

(async () => {
  // Fetch the original image
  const response = await fetch("png-logo.png");
  // Retrieve its body as ReadableStream
  await response.body
    .pipeThrough(new PNGTransformStream())
    .pipeTo(new FinalDestinationStream());
})();

Спецификации

Спецификация
Потоки
# ref-for-rs-pipe-to④

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
pipeTo 59 79 100 46 10.1 59 100 43 10.3 7.0 59

См. также

  • ReadableStream() конструктор
  • Цепочки передачи

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream/pipeTo

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API