Почему моя подписка не запускается и не выполняется на моем наблюдаемом методе? - PullRequest
0 голосов
/ 05 июня 2018

Итак, у меня есть (простое) следующее:

$this.getAllContentTypes().subscribe((res) => {
  console.log(Date.now() + ' - Subscribed, data loaded, calling router...');
});  

Вот мой метод:

public getAllContentTypes(): Observable<ContentType> {
    console.log(Date.now() + ' - Calling getallcontenttypes');

    const jsonStringified = JSON.stringify(json);

    this.contentTypeService.getAllContentTypes(jsonStringified).pipe(
      operators.tap(res => this.convertJsonResultToArrayCT(res)))
      .subscribe(res2 => this.storeInSessionStorage(res2, 'ContentTypes'));

    return from(this.contentTypeArray);
}  

Почему он не войдет в консоль при моей первой подписке?

1 Ответ

0 голосов
/ 05 июня 2018

Ваш contentTypeService.getAllContentTypes, вероятно, возвращает Hot Observable, но вы неявно ожидаете, что Cold Observable.

См. эту статью для объяснения.По сути, только подписки Cold Observable создают значения в подписке, например, http-сервис Angular.

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