Я пытаюсь вернуть ошибку в функции карты, если получаю код "ОШИБКА".
import {Injectable} from '@angular/core';
import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse} from '@angular/common/http';
import {Observable} from 'rxjs';
import {map} from 'rxjs/operators';
@Injectable()
export class ResponseInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const request = req.clone();
return next.handle(request).pipe(
map((event: any) => {
if (event instanceof HttpResponse) {
if (event.body && event.body.code === 'ERROR') {
throw new Error('Fatal Error');
}
const body = event.body ? event.body.body || event.body : null;
if (body) {
return event.clone({body});
}
}
return event;
})
);
}
}
Но я улавливаю ошибку в консоли:
core.js: 15724 ОШИБКА TypeError: Вы указали «неопределенный», где ожидался поток. Вы можете предоставить Observable, Promise, Array или Iterable.
at subscribeTo (subscribeTo.js: 41)
at subscribeToResult (subscribeToResult.js: 11)