Моя цель: мне нужно взять N файлов с FTP, проанализировать их и отправить проанализированные данные куда-нибудь. Моя текущая реализация работает нормально, но когда я заканчиваю первый файл, он начинает зависать.
Пакет, который я использую для потока / анализа csv, это fast-csv. Ниже приведен пример того, что я пытался сделать sh. Он запускается только 1 раз. Я чувствую, что это как-то связано с тем, что поток не заканчивается или не заканчивается должным образом. Я надеялся, что кто-нибудь подскажет мне, в каком направлении я могу пойти. Дайте мне знать, если вам нужно больше разъяснений.
async handleStreams (files) {
for await (const file of files) {
await this.func(file)
}
}
async func (file) {
return new Promise((resolve, reject) => {
const stream = readableStream(file)
stream
.on('error', error => {
})
.on('data', (row: string[]) => {
// do stuff
stream.end()
})
.on('end', async (rowCount: Number) => {
await sendOff()
// resolve()????
})
.on('close', async () => {
// resolve()????
})
})
}