Cle*_*ent 31 javascript reactive-programming rxjs behaviorsubject rxjs5
以前在rxjs4中,BehaviorSubject中有一个名为:
getValue()(doc here)的方法.
rxjs5中不再存在此方法.
所以我发现获得BehaviorSubject值的唯一解决方案是:
let value;
myBehaviorSubject.take(1).subscribe( (e) => value = e );
Run Code Online (Sandbox Code Playgroud)
这段代码同步运行(我不完全理解为什么,但确实......)并获得了价值.它有效,但它不像getValue()现有的那样干净:
let value = myBehaviorSubject.getValue();
Run Code Online (Sandbox Code Playgroud)
为什么getValue()在rxjs5中删除了这个问题最干净的解决方案是什么?
Tys*_*alp 56
正如artur grzesiak评论中所指出的那样,BehaviorSubject界面被清理干净,而吸气剂现在只是.value.
我只想添加这个作为答案,因为我几乎没有阅读原始问题的评论,并且会错过正确的答案.
查看行为主题的源代码
https://github.com/ReactiveX/rxjs/blob/master/src/internal/BehaviorSubject.ts
它仍然有一个 getValue 方法,它有一个只调用 getValue 的 value 属性,它在 RxJs5 中就有。
这是一个使用 RxJs5 的 StackBlitz。
https://stackblitz.com/edit/typescript-gcbif4
所有关于 6.5.0 中重大更改的评论都链接到关于可观察对象的评论,而不是行为主题。
| 归档时间: |
|
| 查看次数: |
22258 次 |
| 最近记录: |