Angular rx js: принудительный ответ, равный нулю, если http.get не может найти файл json - PullRequest
1 голос
/ 22 марта 2020

В моем приложении Angular; я привык получать данные из файла stati c json;

вот так:

@Injectable()
export class ConfigService {
  constructor(private http: HttpClient) { }

  getData() { 
    this.http.get('/assets/myfile.json').subscribe(data => {
        console.log(data);
    })
  }

}

В некоторых скненарах ios, myfile.json может отсутствовать

(и это нужно для других целей)

в этом случае я не хочу получать эту ошибку :

HttpErrorResponse: сбой Http во время синтаксического анализа для https://localhost: 4201 / assets / myfile. json

но просто, я хочу получить null respionse

Предложения ??

1 Ответ

1 голос
/ 22 марта 2020

Как указано в комментариях, вы можете использовать оператор catchError следующим образом:

getData() { 
    this.http.get('/assets/myfile.json')
      .pipe(catchError(error => of(null)))
      .subscribe(data => console.log(data))
  }
...