我有1个数据流带有2个不同前缀的前缀。让我们说1和0。我希望所有以1为前缀的数据仅通过管道传输到流A,将0传输到流B。
我曾想过只使用2个仅允许数据具有正确前缀的数据通过的变换。我只是想知道是否有一种更优雅的方法。
//an idea
//transformA is a transform that only pushes data that is prefixed with 1
//transformB is a transformt hat only pushes data that is prefixed with 2
incomingStream.pipe(transformA).pipe(destinationA)
incomingStream.pipe(transformB).pipe(destinationB)
答案 0 :(得分:0)
也许使用for-await
和if
?
for await (const chunk of incomingStream) {
if(chunk.startsWith("1")) {
destinationA.write(transformA(chunk));
continue;
}
if(chunk.startsWith("2")) {
destinationB.write(transformB(chunk));
continue;
}
destinationElse.write(chunk);
}