我正在使用process.stdin.read()
通过处理事件来处理文本行readable
。就我而言,它一次返回一行或所有输入文本。
这可靠吗?换句话说,它返回一半行的可能性是什么?
关键要求是尽快处理,而不是等待收集所有输入数据。
看看
event-stream
的'分裂。它是为处理基于行的缓冲而设计的。
https://github.com/dominictarr/event-stream#simple-example
var es = require('event-stream')
var inspect = require('util').inspect
process.stdin //connect streams together with `pipe`
.pipe(es.split()) //split stream to break on newlines
.pipe(es.map(function (data, cb) { //turn this async function into a stream
cb(null
, inspect(JSON.parse(data))) //render it nicely
}))
.pipe(process.stdout) // pipe it to stdout !