3
RxJSでは、ストリームが変更されてもサブスクリプションがストリームに残るようにしたい。 bar$
流れを変えながら、私は動作をテストするために間隔ストリームを使用サブスクリプションを維持しながら観測可能なストリームを変更する
//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);
の下にはどのようにしてサブスクリプションを持続していますか? bar $を変更した後、サブスクリプションを処分して別のサブスクリプションを設定していますか?
なぜあなたはそれをテストしていませんか?それは簡単です。私はbarFuncがいつものように値を受け取ることを期待します。あなたは 'foo $'を購読しませんが、 'foo $'を参照する(購読の瞬間に)。 'foo $'が後で変更された場合、サブスクリプションに何も変更してはいけません。しかし、私はそれをテストし、結果を教えてくれた。 – user3743222
私はコードを更新し、jsbinでテストしました。運がない。他のアイデア? – ckwong
... Rx.Observable.neverは誰も値を出すことのない観測者です...あなたはテストの悪い例を夢見ることはできませんでした。 – user3743222