Насколько я понимаю, есть два вызова API.Первый вызов API возвращает путь к текстовому файлу.Вы используете этот путь, чтобы сделать еще один вызов API для получения фактического содержимого файла.
Пожалуйста, исправьте, если мое понимание неверно.
Если мое понимание верно, попробуйте:
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { switchMap } from 'rxjs/operators';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular';
constructor(private http: HttpClient) {}
ngOnInit() {
this.getFileData()
.subscribe(response => console.log(response));
}
getFileData() {
return this.http.get('/assets/filePath.json')
.pipe(
switchMap((response: any) => this.http.get(response.pathToFile, {
responseType: 'text'
}))
);
}
}
ПРИМЕЧАНИЕ: Понимаете, я использую ответ из локально размещенного файла JSON, который снова указывает на локально размещенный текстовый файл.Кроме того, вам нужно будет указать responseType
для второго вызова API как text
.
Вот Рабочий пример StackBlitz для вашей ссылки.