Создайте поток преобразования из ChildProcess - PullRequest
0 голосов
/ 05 июля 2019

Есть ли (простой) способ получить поток преобразования из дочернего процесса, который был выполнен через spawn, где стороны Readable / Writable будут соответствовать stdin / stdout дочернего процесса процесс? Например, это позволило бы мне сделать что-то вроде этого

stream.pipeline(
    createReadable(),
    childProcessToTransformStream(child),
    createWritable(),
    callback
);

Мое текущее решение - stream.pipeline дважды: один экземпляр для канала createReadable() до child.stdin и второй экземпляр для канала child.stdout до createWritable(). Но мне не нравится это решение, потому что оно плохо составляется: если бы была функция, подобная гипотетической childProcessToTransformStream выше, было бы возможно создать более сложные конвейеры, такие как:

stream.pipeline(
    createReadable(),
    childProcessToTransformStream(child1),
    childProcessToTransformStream(child2),
    createWritable(),
    callback
);
...