Rxjs наблюдаемая против «семантики» наблюдателя - PullRequest
0 голосов
/ 15 сентября 2018

, так как в течение нескольких недель я использую Observables довольно часто, и это большая радость иметь это в наборе инструментов.

Однако я не могу понять семантику / терминологию, проиллюстрированную следующей конструкцией (простотеоретический пример):

const o = Observable.create((observer: Observer<boolean>) => {
 observer.next(true);
 observer.error(false);
});

Я понимаю, что вам нужно передать аргумент анонимной функции, чтобы это произошло, но почему это называется Observer типа Observer и почему вы вызываете next ()а ошибка () на этом наблюдателе?Для меня интуитивно понятно, что наблюдаемое излучает значения и передает их наблюдателю.Вышеупомянутая конструкция, кажется, переворачивает это.

По сути, было бы не логичнее иметь следующий псевдо код:

const o = Observable.create(() => {
 this.next(true);
 this.error(false);
});

или, еще более четко:

const o = Observable.create(next: () => {... return true;}, error: () => { return false;});

Может быть, это очень странный вопрос, но я бы хотел получить представление.

Спасибо!

1 Ответ

0 голосов
/ 15 сентября 2018

Observable-Observer - это механизм Push , означающий, что задачей Observable является уведомление Observer. Observable нужна ссылка на Observer, чтобы уведомить его о новых выпусках. Наблюдаемые обратные вызовы, такие как onNext и onError , являются мостом между Observable-Observer, поэтому такие обратные вызовы существуют в Observer, и Observable будет вызывать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...