rxjs6 使用 fromEventPattern 封装 readline 逐行读取文件
使用场景 有一个很大的文件500M左右, 需要将里面的数据读出来, 进行处理, python有直接可以读行的函数, js的回调方式写起来很不舒服, 在这里使用rxjs封装一下 封装一个函数, 传入文件地址, 然后返回一个流, 流中的数据就是每行数据的结果 注意要在流结束的时候关闭流和取消事件监听 const fs = require('fs') const readline = require('readline') const {fromEventPattern} = require('rxjs') const {take, finalize} = require('rxjs/operators') function getLines(filePath) { const stream = fs.createReadStream(filePath) const rl = readline.createInterface({ input: stream }); return fromEventPattern( handler => { rl.on('line', (...args) => { console.log('read line') handler(...args) }); }, handler => { rl.on('close', (...args) => {