我有一个节点.js可读流,我想读取前 20 个字节并用它们做一些处理,为处理后的数据设置回调或接收承诺。
在节点或 NPM 中的其他地方是否有任何内置函数来做到这一点?
例如,它可能看起来像这样:
var stream = getStreamSomehow();
readPromise(stream, 20)
.then(function(data) {
console.log("I have read 20 bytes! %s", data.toString());
});
使用节点核心执行此操作的典型方法是调用 stream.read(20)
,检查返回值是否null
,如果是,请在尝试再次stream.read(20)
之前侦听 readable
事件。否则,如果返回不为 null,则它是一个包含流数据的 20 字节缓冲区。