javascript - RxJS 5 : Can I create a `BehaviorObservable` ?

标签 javascript rxjs observable rxjs5 behaviorsubject

我正在为我的应用程序创建一个保留内部 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/

相关文章:

javascript - 我的 Angular 应用程序中 BehaviorSubject 的混淆行为

javascript - TypeScript - 模块在运行时未定义

Angular 4 - 将事件转换为可观察的流

javascript - 脚本无法处理简单的算术

javascript - filter(loaded =>!loaded) 是做什么的?

javascript - Angular 动画查询错误地返回零元素

javascript - 如何将 Observable 内部的值作为 Angular 2+ 中的函数返回

swift - RxSwift 可观察数组排序

javascript - 新item进入时状态为true,5秒后状态为false

javascript - 如何使一个函数仅在前一个函数完成其工作后才进行转换?