【发布时间】:2023-02-09 21:34:52
【问题描述】:
我需要访问一个目录,我将使用带有生成器的流,并且对于每个文件,我将推送到 myArray 数组。 如何返回填充的数组,在这种情况下它返回空,即使在遍历流之后也是如此?
const { Readable, Transform, Writable } = require('node:stream')
const myArray = []
class ReadStream extends Readable {
i = 0
_read() {
if (this.i >= 10) {
this.push(null)
} else {
this.i++
const str = String(this.i)
const buf = Buffer.from(str, 'ascii')
console.clear()
this.push(buf)
}
}
}
class TransformStream extends Transform {
_transform(chunk, encoding, callback) {
const transformed = chunk.toString().toLowerCase()
callback(null, Buffer.from(String(transformed)))
}
}
class WriteStream extends Writable {
_write(chunk, encoding, callback) {
const write = chunk.toString()
myArray.push(write)
callback()
}
}
new ReadStream().pipe(new TransformStream()).pipe(new WriteStream())
在这种情况下,我将如何返回填充的 myArray 数组?
【问题讨论】:
标签: javascript node.js arrays node-streams