Rxjs在Angular中如何更好的与component拆分或者解耦
发现在component里写着写着就越来越长了,如何把这些逻辑处理写到service中,在service处理后返回成功或失败给组件,组件只负责显示这些处理后的东西
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发现在component里写着写着就越来越长了,如何把这些逻辑处理写到service中,在service处理后返回成功或失败给组件,组件只负责显示这些处理后的东西
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
很多数据以及业务逻辑的处理可以在LoginService中做完, 返回一个observable,返回值是你希望返回到component中最终的数据。
这样你在component中订阅到这个observable时, 返回的就是你想要的结果,而不需要做额外的业务处理。
而且还有一点就是, 你在getUser的订阅中,又调用了另外一个Observable setUserInfo, 尽量不要使用subscribption的嵌套
你完全可以将这两个流写到一起, 使用flatMap
往组件里面注入服务
可以在service里面写个promise来把传来的数据resolve给组件。
然后,比如try catch捕获异常给反馈,数据是空的给反馈,获取到了数据才做后续动作。
service加一个强类型转换,业务层就直接使用data就行了,类似于这样: