TypeScript(Angular)-逐行读取文本文件

6

我遇到了一个问题,需要逐行读取文本文件。使用console.log(file)可以正常工作,但我需要对每一行进行某些操作,所以这是我迄今为止所做的。

在api.service.ts中,我有一个从服务器下载文件的函数,该函数本身如下:

getFile(url: string): Observable<File> {
  return this.httpClient.get<File>(url, {responseType: "text"});
}

然后在 app.component.ts 文件中,我定义了私有的 'resultFile:File' 字段,并将传入的文件赋值给这个变量。

getFile() {
    this.apiService.getFile('http://127.0.0.1:8000/media/results/MINERvA/CC0pi/v1.0/nuwro.txt').subscribe(file => {
      this.resultFile = file;
      console.log(this.resultFile);
    });
  }

如我之前所提到的,使用console.log()输出resultFile内容是可以正常运行的。 文件已经正确地格式化(包含换行),但是当我循环遍历resultFile时

for (const line of resultFile){
  console.log(line);
}

它会打印出每个单独的字符而不是每行的内容。我认为问题可能是 responseType: "text",它将内容转换为纯文本字符串,但我找不到解决方案。对于这样愚蠢的问题表示抱歉,但我以前从未使用过JS/TS。
1个回答

9

运行得非常好。谢谢 :) - Lukasz Nowak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接