我有一个方法可以创建一个可观察的,它是多个其他可观察的合并。每个人都订阅某个符号以获取其数据:
var obs1 = dataSource
.CreateObservable(someClass.Symbol1)
.Select(result => ProcessData(result));
var obs2 = dataSource
.CreateObservable(someClass.Symbol2)
.Select(result => ProcessData(result));
var obs3 = dataSource
.CreateObservable(someClass.Symbol3)
.Select(result => ProcessData(result));
return Observable.Merge(obs1,obs2,obs3);
我订阅了合并的 observable,一切正常。现在,当任何符号发生变化时(someClass.Symbol 1/2/3),我希望重新创建可观察对象以使用新符号。当符号更改时,我会收到通知。
有没有办法使用 RX 让 observable 自动重新创建自己?也许使用 TakeUntil("symbol changed") 之类的东西然后做点什么?
不确定这是否可行,尤其是在使用合并的 observable 时。