Наблюдаемый и Наблюдатель в Angular 8 - PullRequest
0 голосов
/ 29 апреля 2020

Я сейчас работаю в Angular 8 живом проекте. Во время разработки я обнаружил, что «наблюдатель.next» используется в нескольких местах. Например: 1) в подпрограмме 2) в трубе 3) в наблюдаемой программе я просто хочу знать, что такое использование Observer.next, и можем ли мы использовать его где угодно .

Ответы [ 2 ]

1 голос
/ 29 апреля 2020

Как издатель вы создаете экземпляр Observable, который определяет функцию подписчика. Это функция, которая выполняется, когда потребитель вызывает метод subscribe (). Функция подписчика определяет, как получать или генерировать значения или сообщения для публикации.

next - Обработчик для каждого доставленного значения. Вызывается ноль или более раз после начала выполнения.

const myObservable = of(1, 2, 3);

// Create observer object
const myObserver = {
  next: x => console.log('Observer got a next value: ' + x),
  error: err => console.error('Observer got an error: ' + err),
  complete: () => console.log('Observer got a complete notification'),
};

// Execute with the observer object
myObservable.subscribe(myObserver);
// Logs:
// Observer got a next value: 1
// Observer got a next value: 2
// Observer got a next value: 3
// Observer got a complete notification

Также проверьте следующие ссылки для получения дополнительных разъяснений

https://ultimatecourses.com/blog/rxjs-observables-observers-operators

https://angular.io/guide/observables#basic -usage-и-члены

0 голосов
/ 30 апреля 2020

Мы используем наблюдатель для преобразования обещаний в наблюдаемые, посмотрите на пример:

const somePromise = new Promise((resolve, reject) => ...);

function promToObs(): Observable<string> {
  return new Observable<string>((observer: Observer<string>) => {
    somePromise.then((result) => {
      observer.next(result);
      observer.complete();
    }).catch(err => result.error(err));
  });
}

...