我拥有要订阅并启动自己的Observable
的配置Observable
,但是在收到配置更新后取消正在运行的Observable
时遇到了问题。
我当时在考虑类似switchMap
的运算符,但是相反,当源Observable
中有新值时,我们正在取消订阅映射的Observable
并订阅了一个新值
赞:
configuration.
reverseSwitchMap {
createMyObservable(it.somethingFromConfiguration) // this observable get's recreated for each configuration update
}.subscribe {
// here I'm receiving values from myObservable
}
有没有可以帮助我解决这个问题的操作员?
答案 0 :(得分:0)
我认为我过于复杂了,所以现在我创建的解决方案是:
private val disposable: Disposable? = null
fun startUpdates() {
configuration.toObservable()
.forEach { configuration ->
disposable?.dispose
disposable = MyObservable(configuration)
.subscribe { //do something }
}
}
现在就足够了,尽管如果有人找到更好的解决方案,我将保留这个问题。
答案 1 :(得分:0)
这正是switchMap的目的。
这应该有效:
import { ReferenceInput, AutocompleteInput } from "react-admin";
import { Field } from 'redux-form';
<Field
{...this.props}
component={ReferenceInput}
source="id"
reference="buildings"
>
<AutocompleteInput source="ProjectName" />
</Field>