Развязка Stream.pipe

#node.js

#node.js

Вопрос:

Node.js имеет простой способ объединить два потока данных:

 readableStream.pipe(writeableStream);
  

… и это здорово, потому что он обрабатывает буферизацию и тому подобное для вас за кулисами.

Каков наилучший способ разъединить эти два потока, не закрывая ни один из них?

Ответ №1:

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

Канал — это не что иное, как только поток получает данные, в другой записывается, поэтому было бы довольно просто написать свою собственную реализацию с учетом ваших собственных потребностей.

Комментарии:

1. На самом деле, функция «очистки» там выглядит именно так, как мне нужно.