Используя веб-потоки, создайте 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
.