Yas*_*ain 0 observable rxjs angular
我有一个后端服务,当我们使用HTTP服务命中其中一个端点时返回一些数据.现在我们正在使用角色Observables.我们subscribe到了终点.像这样的东西
constructor(private http : Http){
}
ngOnInit(){
this.http.get('/api/posts').subscribe(response => {
// Store data into class variable
})
}
Run Code Online (Sandbox Code Playgroud)
当我们订阅它.在next订阅部分.我们已经获得了所有数据,无论它是通过响应得到的.现在没有什么可以从我们收到的数据中分离出来,但是如果我们不取消订阅,仍有许多人说存在内存泄漏.我们通常在ngOnDestroy()生命周期方法中取消订阅.我真正想知道的是,当呼叫已经完成时,我们通过响应从服务器获得数据,并且没有什么可以从中得到更多.那我们为什么需要unsubscribe呢.我想特别了解内存泄漏概念.
TL; DR; 不,您不需要取消订阅http电话.
除非observable完成,否则你应该总是考虑取消订阅你的observable,这就是http调用observables的情况.
有许多取消订阅的方法,如果您只需要一个可以添加的结果,obs.pipe(first())它会在收到第一个结果后自动完成.您还可以使用async角度管道,在销毁组件时自动订阅和取消订阅.
| 归档时间: |
|
| 查看次数: |
373 次 |
| 最近记录: |