J'essaie d'utiliser Observable.forkJoin
et le gestionnaire d'abonnement ne reçoit jamais de hit. L'opérateur forkJoin travaille pour moi dans d'autres parties de mon application et la seule différence que je peux penser dans le scénario non fonctionnel est que les observables sont créés à partir d'objets BehaviorSubject
en utilisant sa fonction asObservable()
.Les observables angulaires 2 rxjs créés à partir de BehaviorSubject ne fonctionnent pas avec forkJoin
Cette souscription se fait frapper
let obs = Observable.of(1);
Observable.forkJoin(
obs
).subscribe(data => {
console.log(data);
});
Celui-ci ne
let bs = new BehaviorSubject<number>(1);
let obs = bs.asObservable();
Observable.forkJoin(
obs
).subscribe(data => {
console.log(data);
});
Bien sûr, il y a plus d'un obseravble dans mon vrai cas d'utilisation qui est la raison pour laquelle j'utilise forkJoin dans le premier endroit.
Existe-t-il autre chose qui doit être fait pour BehaviorSubject pour le faire fonctionner avec forkJoin?
MISE À JOUR:
Après avoir étudié les documents RxJs un peu plus je réalisais que la Observable.combineLatest
était beaucoup mieux adapté à mon besoin de forkJoin
... Lien ici au cas où vient dans ce SO message: http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#static-method-combineLatest
Merci pour la réponse. Après avoir enquêté un peu plus sur les docs de RxJs, je me suis rendu compte que 'Observable.combineLatest' était bien mieux adapté à mes besoins que' forkJoin' ... Lien ici au cas où il y aurait un message SO: http://reactivex.io/ rxjs/class/es6/Observable.js ~ Observable.html # static-method-combineLatest – cboston