Как работать с Observable 'Не удается прочитать свойство' ngOriginalError 'из undefined' - PullRequest
0 голосов
/ 16 января 2019

Я создал службу, которая обрабатывает вызовы HTTP и возвращает ответ вызывающей стороне, только если результат успешен.

Я использую оператор Angular observable Map, чтобы проверить код результата и состояния, и если у ответа нет желаемого результата, он должен остановить конвейер наблюдателя после выдачи специального сообщения об ошибке, которое перехватывается в блоке catchError, который работает, но в то же время получает непогашенную ошибку в консоли.

Угловая версия - 5+, Rxjs версия - 5 +

fetchRecords(): Observable < any > {
  return this.httpService.getData('cmpgnInfo/outlets').pipe(
    map((response: any) => {
      if (response[0].status !== 'ERROR') {
        throw new Error('Not able to details.');
      }
      return response[0].results;
    }),
    catchError(err => Observable.throw(this.showError('Outlets', err)))
  );
}

showError(logString: string, message ? : string) {
  this.logService.error(`Failed to load ${logString}`);
  this.modalService.showErrMessage(message);
}

как бороться с этой ошибкой подписчика? что не так с кодом, который вызывает это.

Subscriber.js: 247 Uncaught TypeError: Невозможно прочитать свойство 'ngOriginalError' из неопределенного в getOriginalError (core.js: 1430) at ErrorHandler._findOriginalError (core.js: 1548) at ErrorHandler.handleError (core.js: 1505) в Object.next (core.js: 5508) на SafeSubscriber.schedulerFn [как _next] (core.js: 4342) на SafeSubscriber .__ tryOrUnsub (Subscriber.js: 243) на SafeSubscriber.next (Subscriber.js: 190) по адресу Subscriber._next (Subscriber.js: 131) на Subscriber.next (Subscriber.js: 95) в EventEmitter.Subject.next (Subject.js: 56) на EventEmitter.emit (core.js: 4322) на eval (core.js: 4782) в ZoneDelegate.invoke (zone.js: 334) в Zone.run (zone.js: 126) в NgZone.runOutsideAngular (core.js: 4708)

...