Проверьте, есть ли у любого подписчика субъекта реализованный Error-Method / Observer - PullRequest
0 голосов
/ 02 октября 2019

Чтобы узнать, должна ли отображаться ошибка по умолчанию msg или специализированная msg, мне нужно динамически проверить, определена ли часть ошибки в наблюдателе:

ЭТО РАБОТАЕТ, НО ... . (stackblitz)

... Я должен получить доступ к частным / защищенным API. Итак, мой вопрос:

Есть ли лучший / безопасный способ выполнить эту работу?

// КОД ОТ STACKBLITZ

var subject = new Subject();

const subDefault$ = subject.subscribe(
  data => this.log(data),
);

const subErrorMsg$ = subject.subscribe(
  data => this.log(data),
  error => this.log(error),
  () => this.log('Complete')
);

subject.next('Normal Data');

console.log(subject);

if (subject.observers.some((obs: Subscriber<any>) => {

  // Those are protected!
  return !obs['destination']['_error'];
})) {
  console.log('there is an Error implementation')
}
...