【发布时间】:2018-07-02 13:36:28
【问题描述】:
enter image description here我使用BehaviorSubject 在我的应用程序组件之间共享数据,由于BehaviorSubject 多次发射相同的值,我遇到了性能问题。例如,我调用http从后端获取团队对象并将其存储在behaviourSubject中,许多组件订阅此BehaviorSubject。每个组件都从订阅中获取值并对值进行一系列操作。问题的本质是该值被多次发出,每个组件都执行几次序列。我的猜测是BehaviorSubject 将值作为订阅者的数量发出。我在谷歌中找不到任何对我来说很奇怪的东西,我错过了什么?
与部署相比,团队在本地发出值的次数不同。可以看到“refetch returned value”的打印是http的实际响应。
【问题讨论】:
-
您的
BehaviorSubject的目的是什么?如果您的目标是共享数据,为什么不简单地将请求的结果存储在一个变量中? -
其实我认为这与http延迟时间有关。那么如何过滤那些没有任何价值的虚假发射。
-
你好,优酷乐乐,目的是为了能够订阅这个值,并根据最后存储的值更新各个组件
-
你应该至少提供你的代码的相关部分,或者更好的堆栈闪电,这样我们就可以找到你的实现中的错误
标签: angular rxjs behaviorsubject