如何解决如何使用 BehaviorSubject 的前一个值和当前值返回一个值?
在我的 angular 应用程序中,我有一个用户服务、一个 activeUser$ 行为主题和一个登录 $ 一个,它将根据 activeUser$ 的值(管道(映射))为真或假。 当 loggedIn$ 的下一个值为真然后为假时,这意味着用户已注销。 有一个函数我只想在它真然后假时触发。结果是一个loggedOut$ observable 会很棒! 有什么想法吗?
解决方法
详细了解成对运算符 here
在您的情况下,代码将如下所示:
loggedOut$ = this.loggedIn$.pipe(
pairwise(),filter(([previous,current]) => previous && !current)
).subscribe(...)
,
刚刚从here
中找到了我需要的答案我是这样实现的:
loggedOut$ = this.loggedIn$.pipe(
distinctUntilChanged(),map((current) => !current)
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。