0

我的目标:我需要从 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()????
      })
  })  
}
4

0 回答 0