gpt4 book ai didi

angular - 如何使用 Observable 订阅行为主题

转载 作者:行者123 更新时间:2023-12-01 17:47:22 26 4
gpt4 key购买 nike

我有一个场景,我想在用户单击时获取可观察变量的当前值,该变量是存储选择器。根据This Question已接受的问题我必须使用行为主体。但我从 Store 选择器中获得了 ab Observable 值。

现在的问题是如何将 Observable 值分配给BehaviorSubject,以便在 App 中随时使用BehaviorSubject 的当前值。

最佳答案

当你想获得这种行为时,你应该使用你拥有的可观察对象并共享它+重放最后一个值。好消息是,有一个运算符可以实现这一点:shareReplay

重要说明:定义 shareReplay 的参数,否则您将重播无限数量的值,并且如果没有人再监听可观察的..它仍然会保持打开状态!

因此请执行以下操作:

const replayedObs$ = originalObs$.pipe(
shareReplay({ bufferSize: 1, refCount: true })
)

这样,您只会在订阅时获得最新值,并且如果没有人再收听 replayedObs$ ,它将被关闭。

关于angular - 如何使用 Observable 订阅行为主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59858462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com