Почему полная функция никогда не вызывается в моем коде - PullRequest
0 голосов
/ 17 февраля 2019

Я изучал Observables и пробовал мелочи.Все работает должным образом, за исключением «наблюдателя.complete ()», который не вызывает метод «завершить» в подписке.

Я искал в Интернете, но не смог решить мою проблему.Я также хочу знать, как написать функцию, которая вызывается путем отписки от наблюдаемой.Заранее спасибо.

let observable = new Observable<string>((observer) => {
  setTimeout(() => {
    observer.next('new1');
  }, 1000)
  setTimeout(() => {
    observer.next('new2');
  }, 3000)
  setTimeout(() => {
    observer.complete()
  }, 6000)

  }).subscribe((data) => {
  console.log(data),
    (err) => {
      console.log(err)
    },
    ()=>{
      console.log('completed')
    }


})

1 Ответ

0 голосов
/ 17 февраля 2019

Это потому, что вы написали только next обратный вызов

.subscribe((data) => {
     console.log(data)
    }, <=============================================== note } here
    (err) => {
      console.log(err)
    },
    ()=>{
      console.log('completed')
    }
)

или просто

.subscribe(
  console.log,
  (err) => {
    console.log(err)
  },
  () => {
    console.log('completed')
  }
)

Ng-run Пример

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