0

我正在尝试从 csv 读取数据,并且我正在暂停流,因为我需要使用 await 执行一些异步任务。但是,在处理完所有行之前调用 done 事件。据我了解,即使暂停也不会停止完成甚至被调用。有什么解决方法吗?

let res = csv({
                delimiter: '|',
                // noheader: true,
                output: "csv",
                nullObject: true
            })
            .fromStream(fs.createReadStream(`./dbscvs/new_${table.name}.csv`))
            .on('data', async (data) => {
                res.pause()
                await new Promise(resolve=>{
                    setTimeout(resolve,5000)
                })
                res.resume()
            })
            .on('done', async e => {
                console.log('done')
            })
            .on('error', (err) => {
                console.log(err)
            })
4

1 回答 1

0

尝试end在所有数据输出后发出的事件。

于 2019-09-02T13:09:39.420 回答