Do I need to unsubscribe from Observable.of?

Mar*_*pez 4 rxjs typescript

So, basically, new to rxjs and wanted to know,

Do I need to unsubscribe from Observable.of(data) or in newer rxjs versions, just plain of(data)?

i.e.

import {of} from 'rxjs';
const sub = of(data).subscribe();

Run Code Online (Sandbox Code Playgroud)

is this necessary?

sub.unsubscribe();
Run Code Online (Sandbox Code Playgroud)

Dan*_*cht 5

正如本文所描述的那样,存在有限和无限的Observable 。

有限可观

在特定的可预见时间范围内完成,例如网络请求或您的Observable.of()呼叫。

无限可观测

可能永远不会完成,例如观察点击事件。

回答

尽管实际上没有必要退订有限的 Observables,但是取消退订每个可观察变量被认为是最佳实践,因为您通常并不真正知道它是否真的是有限的。

为了避免在代码中堆积多个订阅,最好使用高级rxjs功能,如本文所示。

为什么我要取消订阅Observable

一个Observable是事件流。您可以订阅此流并在该subscribe函数生成事件时获取更新

.subscribe(
  onNext => {
    // Called if there was a normal event, e.g. data is emitted
  },
  onError => {
    // Called if there was an Error
  },
  onComplete => {
    // Called if the event stream ends OR an Error is encountered
  }
)
Run Code Online (Sandbox Code Playgroud)

每个订阅都会占用内存空间,并且只要Observable不能完成订阅,订阅就不会终止(但是onNext()即使使用角度函数,组件也会被破坏,但仍会收到带有-Function的更新)。为了防止意外行为和内存泄漏,您必须退订。点击阅读更多