【发布时间】:2013-07-09 09:43:48
【问题描述】:
我有一个方法,getObs(),它返回一个 observable,应该由所有调用者共享。但是,当有人调用 getObs() 时,该 observable 可能不存在,并且创建它是一个异步操作,所以我的想法是返回一个占位符 observable,一旦创建,它就会被真正的 observable 替换。
我的基本尝试是这样的:
var createSubject = new Rx.Subject();
var placeholder = createSubject.switchLatest();
如果调用 'getObs()' 时真正的 observable 不存在,我可以在哪里返回 placeholder。创建真正的 observable 后,我使用 createSubject.onNext(realObservable),然后将其传递给 switchLatest(),为任何订阅者解包。
但是,为此目的使用 Subject 和 switchLatest 似乎有点矫枉过正,所以我想知道是否有更直接的解决方案?
【问题讨论】:
标签: system.reactive reactive-programming reactive-extensions-js