如何使用 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)
);
在我的 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)
);