Я пытаюсь работать над темой из 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