In RxJS möchte ich, dass das Abonnement im Stream beibehalten wird, auch wenn der Stream geändert wird. Im Folgenden werde ich ein Intervall Strom das VerhaltenÄndern des beobachtbaren Streams beim Beibehalten des Abonnements
//Works because foo$ is unchanged
let foo$ = Rx.Observable.interval(1000);
foo$.subscribe(x => console.log(`foo$: ${x}`));
//Doesn't work because bar$ is changed
let bar$ = Rx.Observable.never();
bar$.subscribe(x => console.log(`bar$: ${x}`))
bar$ = Rx.Observable.interval(1000);
Wie bestehen ich das Abonnement zu testen, während bar$
Strom zu ändern? Muss ich das Abonnement ablegen und ein anderes Abonnement einrichten, nachdem ich bar $ geändert habe?
warum Sie es nicht testen? Es ist leicht zu machen. Ich würde erwarten, dass barFunc seine Werte wie gewohnt erhält. Sie abonnieren nicht "foo $", sondern "foo $' references "(im Moment des Abonnements). Wenn sich 'foo $' später ändert, sollte es nichts an der Subskription ändern. Aber wie gesagt, teste es und erzähle uns das Ergebnis. – user3743222
Ich habe den Code aktualisiert und auf Jsbin getestet. Kein Glück. Irgendwelche anderen Ideen? – ckwong
... Rx.Observable.Never ist eine beobachtbare, die nie einen Wert ausgibt ... Sie hätten nicht von einem schlechteren Beispiel für einen Test träumen können. – user3743222