NoneStream - "событие done вызывается даже при приостановке соединения"

Я пытаюсь читать из 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)
            })

0 ответов

Попробуйте end событие, которое генерируется после вывода всех данных.

Другие вопросы по тегам