我的目标:我需要从 FTP 中获取 N 个文件,解析它们,然后将解析后的数据发送到某个地方。我当前的实现工作正常,但是当我通过第一个文件时,它开始挂起。
我用于 csv 流/解析的包是 fast-csv。下面是我试图完成的一个例子。它只运行 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()????
})
})
}