Тема внутри setTimeout () не работает - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь работать над темой из RxJS.Ниже в двух фрагментах кода вывод отличается.Я не мог понять, почему «подписка» внутри метода «setTimeout» не регистрирует значение.Может ли кто-нибудь помочь мне через это?Спасибо.

import { Subject, from, Observable } from 'rxjs';

const subject = new Subject();

subject.subscribe((value) => console.log(value)); 

setTimeout(() => {
  subject.subscribe((value) => console.log(value)); 
}, 2000);

const observable = new Observable((observer) => {
  console.log('called only once')
  observer.next(Math.random())
});  

observable.subscribe(subject); 

Output: 

called only once
0.253655945545456

================================================

import { Subject, from, Observable } from 'rxjs';

const subject = new Subject();

subject.subscribe((value) => console.log(value)); 
subject.subscribe((value) => console.log(value)); 

const observable = new Observable((observer) => {
  console.log('called only once')
  observer.next(Math.random())
});  

observable.subscribe(subject); 

Output: 

called only once
0.253655945545456
0.253655945545456
...