angular - RxJS - 如何仅在第一次订阅时触发可观察流
问题描述
我有一个 observable,当订阅它时,它会触发逻辑链/流。这个 observable 可以在我的多个组件中订阅,因为我需要它的逻辑在我的应用程序的多个位置处于活动状态。但是,如果它过去已经被触发(通过订阅),我不希望它的逻辑被第二次触发。我该怎么做?
换句话说,我如何才能仅在第一次订阅时触发我的 observable 流?
解决方案
我认为shareReplay(1)
运营商会做你想做的事:它将在每个订阅上发出最后一个“计算”值。
请参阅文档以供参考:https ://www.learnrxjs.io/learn-rxjs/operators/multicasting/sharereplay
推荐阅读
- docker - Zookeeper 无法创建新的 znode
- asp.net-core-2.1 - 使用主 Web 应用程序的 dbcontext 的 Razor 类库
- c++ - 使用运算符 [] 在 std::vector<> 上引用过去最后一个元素的问题
- r - R - 向量中数字组合的频率计数超出完全匹配
- ruby - Ruby 将任意函数和参数传递给另一个函数
- linux - 在所有 Linux 发行版中,“dir”命令的输出是否相同?
- android - (Android) 如何禁用嵌套recyclerview的某些元素的滚动
- entity-framework - Entity Framework Core 2.0 FromSql 和 SQL 注入
- c - PIC18F46K22 输入捕捉功能的配置
- jquery - 填充 javascript 变量,然后加载脚本