很多开发者会在组件内注入服务, 然后在某个生命周期钩子内订阅一个可观测对象, 根据返回的数据执行各种副作用逻辑, 例如更新变量、触发页面更新、调用额外的方法等等。...例如, 在发起网络请求之前, 需要先进行本地缓存或权限校验, 然后在拿到结果数据时还要执行系列计算或调用多个不同的服务接口。...另外, 在实现懒加载数据或滑动加载更多数据的功能时, 可能会需要根据用户的滚动行为或页面切换状态来决定何时发起订阅。...如果使用 AsyncPipe 进行数据绑定, 多数时候只能被动地等待流的推送过程, 无法在订阅阶段插入更多自定义逻辑。...与在模板里直接使用 AsyncPipe 相比, 这种写法可以让开发者在任意时刻启动订阅或中断订阅, 在订阅开始和结束时插入更多业务逻辑, 也可以方便地处理错误情况或使用更多的操作符来裁剪数据流。