【发布时间】:2021-09-10 14:26:21
【问题描述】:
我在 Node v14.15.1 中编写了一些按我想要的方式工作的代码,但我并不完全理解它是如何工作的。这里是:
const rows = await new Promise(resolve => {
const result = [];
const file = fs.createReadStream('src/tests/readability/input.csv');
const reader = file.pipe(csv());
reader.on('data', row => {
result.push(row);
});
reader.on('end', () => {
resolve(result);
});
});
我的问题是,事件发射器什么时候开始触发事件并调用回调函数?因为我从来没有调用过任何类型的start() 函数。我使用reader.on() 分配回调函数,然后读取CSV 文件。就像为什么在我有机会分配回调之前它没有开始读取文件,因此让我错过了事件的开始甚至所有事件?
【问题讨论】:
-
csv()是做什么的? -
@GabrielLupu
csv()是const csv = require('csv-parse');返回的函数
标签: javascript node.js asynchronous