angular RxJS

举报
Amrf 发表于 2018/12/19 10:49:11 2018/12/19
【摘要】 分析的项目代码可以在https://github.com/loiane/angular-login-hide-navbar找到这个项目里有一段用户登录认证服务如下:auth.guard.tsauth.service.ts可以注意到这三句代码private loggedIn: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(fal...

分析的项目代码可以在https://github.com/loiane/angular-login-hide-navbar找到

这个项目里有一段用户登录认证服务如下:

auth.guard.ts

image.png

auth.service.ts

image.png

可以注意到这三句代码

private loggedIn: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);

this.loggedIn.next(true);

this.authService.isLoggedIn.pipe

理解理解:

当Observer订阅了一个BehaviorSubject,它一开始就会释放Observable最近释放的一个数据对象,当还没有任何数据释放时,它则是一个默认值。接下来就会释放Observable释放的所有数据。如果Observable因异常终止,BehaviorSubject将不会向后续的Observer释放数据,但是会向Observer传递一个异常通知。简单来说,就是释放订阅前最后一个数据和订阅后接收到的所有数据:(参考:理解RxJava(四)Subject用法及原理分析

take使得Observable仅仅发射我们指定的前面的n个项(参考:RxJS入门(5)----编写并发程序)


未完待续


参考:RxJS异步通信之Subject和BehaviorSubject    

参考:Angular基础(八) Observable & RxJS    

参考:理解RxJava(四)Subject用法及原理分析    

参考:PublishSubject,ReplaySubject,BehaviorSubject,AsyncSubject

参考:Rxjs入门3-Operators[实例操作符、静态操作符、弹珠图、选择操作符、操作符分类]、Subject、为啥要定义Subject (主体)概念、Subject派生

参考:rxjs-操作符

参考:angular6 rxjs6的新特性汇总


参考:Angular 2 redirect on click

参考:Why routerLink and router.navigate() act differently?

参考:How to use router.navigateByUrl and router.navigate in Angular

参考:RxJS github.io

参考:rxjs-react-component


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。