Tôi có một phân tích cú pháp csv thực hiện như một loạt các thay đổi dòng:Làm thế nào để chuyển đổi soạn Streams trong Node.js
process.stdin
.pipe(iconv.decodeStream('win1252'))
.pipe(csv.parse())
.pipe(buildObject())
.pipe(process.stdout);
Tôi muốn trừu tượng phân tích cú pháp (trong mô-đun riêng của mình) và có thể làm:
process.stdin.
.pipe(parser)
.pipe(process.stdout);
nơi parser
chỉ là thành phần của các dòng trước đây sử dụng biến đổi.
Nếu tôi làm
var parser = iconv.decodeStream('win1252')
.pipe(csv.parse())
.pipe(buildObject());
sau đó parser
được thiết lập để dòng buildObject() và chỉ dòng chuyển đổi này sẽ nhận dữ liệu.
Nếu tôi làm
var parser = iconv.decodeStream('win1252');
parser
.pipe(csv.parse())
.pipe(buildObject());
nó không hoạt động, hoặc, như .pipe(process.stdout)
sẽ được gọi vào ngày 1 đổi dòng và 2 người khác sẽ được bỏ qua.
Bất kỳ đề xuất nào cho thành phần thanh lịch của luồng?
Chính xác những gì tôi cần. Cảm ơn. Không thể tin rằng mô-đun này không phổ biến hơn ... –
Tương tự. Điều này thật tuyệt vời. Ngoài ra, mã nguồn của nhiều người rất ngắn, vì vậy đáng để kiểm tra việc triển khai cho bất kỳ ai coi trọng giao diện người dùng. – Owen