如何通过值将最后一个项目推送到RxJs / BehaviorSubject?

时间:2016-07-15 08:05:35

标签: javascript rxjs

我在项目中使用rxjs,我遇到的问题是myBehaviorSubject.valuemyBehaviorSubject.getValue()都返回通过引用推送到observable的最后一项。我可以以某种方式按价值获得最后一项吗?

注意:我知道我可以使用Object.assign复制对象,但这对我来说似乎是样板代码。我正在寻找一些官方方法或一段代码扩展它以支持此功能。所以我想做的就像myBehaviorSubject.getValueByValue()(听起来很奇怪,我知道。)

1 个答案:

答案 0 :(得分:1)

不,rxjs中没有任何内容可以做到这一点,而这实际上并不在Rx域中。虽然observable在与不可变类型一起使用时效果最佳,但rxjs不提供此区域中的任何功能。对于简单的对象克隆,您可以按照建议使用Object.assign之类的东西。对于集合,我建议使用immutable.js。您可以(根据注释中的建议)自行扩展BehaviorSubject以包含您喜欢的任何实现。