在RxJx
中我试图更新'Observable`但它没有更新值。我一直在获得第一个声明的值。
如何解决这个问题?
这是我的代码:
const streamA$ = Rx.Observable.of(2);
const streamB$ = Rx.Observable.of(4);
streamA$ = Rx.Observable.of(10) //not updating!
const streamC$ = Rx.Observable.concat(streamA$, streamB$)
.reduce((x, y) => x + y);
streamC$.subscribe(function(x){
console.log( x );
}); //prints 6
//even from here i would like to update
streamA$ = Rx.Observable.of(10) //not updating!
答案 0 :(得分:1)
您已使用const
声明了streamA $,然后您尝试重新分配它。执行此操作将导致保留原始值。如果您想重新分配streamA $,则需要使用var
声明它。这适用于所有javascript变量,并不是Rx特有的。
我怀疑你在这里想要做的是将streamA $与另一个流相结合,或者直接将值提供给streamA $(在这种情况下,你需要将它作为某种主题)。< / p>