在我从事项目工作时,我只是在玩弄node.js,并且我正在使用fs.createWriteStream
来写文件,并决定我想尝试实现可读流,以便可以{ 1}}-这是我的最终目标,就是能够创建一个可以通过管道传输到writeStream的对象
这就是我得到的:
readableStream.pipe(writeStream)
当我这样做时,我在控制台中遇到一个错误,说未实现const wstream = fse.createWriteStream('./files/costPrices.csv');
wstream.write('handle,cost price\r\n');
const Stream = require('stream');
const readableStream = new Stream.Readable();
readableStream.pipe(wstream);
const promises = [];
items.forEach(item => {
const promise = (async () => {
const cp = await getCostPrice(item);
readableStream.push(`${item.Handle},${cp}\r\n`);
})();
promises.push(promise);
});
await Promise.all(promises);
console.log('done');
wstream.close();
,因此在_read
的下面写了new Stream.Readable()
并有效。
对此我感到非常惊讶,我不能说我理解发生了什么,或者为什么需要一种readableStream._read = () => {};
方法,但是它不需要做任何有用的事情。