如何使用 BehaviorSubject 的前一个值和当前值 return 一个值?

How to return a value using the previous and the current value of a BehaviorSubject?

在我的 angular 应用程序中,我有一个用户服务,一个 activeUser$ behaviorSubject 和一个 loggedIn$ 服务,它们基于(管道(映射))activeUser$ 的值是真还是假。 当 loggedIn$ 的下一个值为 true 然后为 false 时,这意味着用户已注销。 有一个函数我只想在它为 true 然后为 false 时触发。结果是一个 loggedOut$ observable 会很棒! 有什么想法吗?

详细了解成对运算符here

在你的情况下,代码应该是这样的:

    loggedOut$ = this.loggedIn$.pipe(
      pairwise(),
      filter(([previous, current]) => previous && !current)
    ).subscribe(...)

刚刚从

找到了我需要的答案

我是这样实现的:

loggedOut$ = this.loggedIn$.pipe(
    distinctUntilChanged(),
    map((current) => !current)
);