Используя веб-потоки, создайте TransformStream из нескольких TransformStreams.

Можно ли создать один TransformStream из нескольких других TransformStream, используя потоки whatwg ( API веб-потоков )?

Например, если у меня есть два TransformStreams, которые запускаются последовательно, например и :

      readable.pipeThrough(transformer1).pipeThrough(transformer2).pipeTo(writable)

В конечном счете, я хотел бы иметь возможность преобразовать это в

      readable.pipeThrough(allTransformers).pipeTo(writable)

ГдеallTransformersпредставляет собой TransformStream, объединяющийtransformer1иtransformer2.

Ниже приведен не настоящий функциональный код, но я думаю, что есть способ сделать что-то вроде этого:

      const allTransformers = transformer1.pipeThrough(transformer2)

Это явно упрощенный пример, но вы можете себе представить, что существует много потоков преобразования, и я хотел бы выполнить рефакторинг в один конвейер преобразования многократного использования.

1 ответ

У меня была такая же проблема, вот мои решения.

В приведенном ниже примереUpperCaseReadableStreamпропускает поток черезTextDecoderStream,UpperCaseTextStreamиTextEncoderStream.

Другие вопросы по тегам