【发布时间】:2017-06-19 10:12:16
【问题描述】:
我知道最好取消订阅 Observable 以防止内存泄漏。
但如果它是Cold Observable,我是否也应该取消订阅它?
例如Http.get()返回的一个
【问题讨论】:
-
您可以使用
.take(1)强制Obs 终止并避免内存泄漏。所以:http.get(...).take(1) -
@AngularFrance 如果你查看源代码github.com/ReactiveX/rxjs/blob/master/src/operator/take.ts 你会看到 yes unsubscribe 被调用,但由于它的冷可观察然后完成也会被调用,所以没有必要说 take 1 if only 1 个将被退回
-
我已经更新了我的答案:)
-
@VolodymyrBilyachat。有趣,我不知道。