J'ai cet exemple de barebones ne se comporte pas comme je m'attends basé sur le documentation of rxjs. Je m'attendrais à ce que les abonnements aux deux reçoivent toutes les valeurs.Pourquoi le deuxième abonnement ne reçoit-il pas de valeurs lorsqu'il s'abonne deux fois pour être visible dans rx 2.3?
Les documents mentionnent:
Deux observateurs souscrivent ensuite à cette séquence et imprimer ses valeurs. Vous remarquerez que la séquence est réinitialisée pour chaque abonné, dans lequel le second abonnement va redémarrer la séquence à partir de la première valeur.
let s1 = rx.Observable.from([1, 2, 3, 4, 9, 11])
s1.subscribe(
x => console.log(x),
x => console.log(x),
x => console.log('complete'))
s1.subscribe(
x => console.log(x),
x => console.log(x),
x => console.log('complete'))
Cependant, le deuxième abonnement se connecte tout simplement « complet »
Il se trouve que l'exemple fonctionne comme prévu dans rxjs 2.4, mais pas en 2.3. Est-ce que quelqu'un sait ce qui a changé? Je ne peux pas le repérer dans the release notes
Voici un jsFiddle avec 2.3.20: fiddle
et voici un avec 2.4.1: fiddle
Cela ressemble à un bug. Ils passent en revue et optimisent le code et il semble qu'ils l'ont cassé brièvement. – Brandon
La mise à jour de rx a résolu le problème – Remko