我正在为我的应用程序创建一个保留内部 BehaviorSubject
的类.有没有一种方法可以公开相应的“BehaviorObservable
”,它通过主题的值进行管道传输,但只有 Observable
的“只读”内容界面? .next()
、.error()
和 .complete()
方法只能在内部使用。
这不仅仅是(我相信)使用 Observable.create()
的问题传递主体的值(value)观。我的 API 的用户应该.subscribe()
到公开的可观察对象,然后立即获得存储的当前值的回调。
我也许可以一起破解一些东西,但我确定我只是错过了一些 RxJS 已经可以做的事情。
最佳答案
您是否正在寻找 .asObservable()
方法 - 它存在于 Rxjs v4 中。不知道在 Rxjs v5 中是否仍然如此。
根据 this ,该方法应该包含在 5.0.0-beta.2 版本中。如果功能不存在,我也会在这里引用他们的解决方法:
You can get the same functionality by creating an observable with the private subject's subscribe function:
> const subj = new rx.Subject(); > const exposed = new rx.Observable(fn => subj.subscribe(fn));
关于主题语义的更多细节,你可以看看here .
关于javascript - RxJS 5 : Can I create a `BehaviorObservable` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38547415/