为什么readyStream需要_read()方法,但不需要执行任何操作?

时间:2019-04-26 09:32:21

标签: javascript file-io io stream

在我从事项目工作时,我只是在玩弄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 = () => {};方法,但是它不需要做任何有用的事情。

0 个答案:

没有答案