TypeScriptを使用してAngular 2コンポーネントに新しいrxjs Observable
を実装しようとしました。私は、私はのOnInitにこの観測可能に加入する私の角度2の成分、例えばに続いてReactiveX JSとTypeScript - 購読を解除するには?
export class MyComponent implements OnInit {
obs: any;
constructor(private myService: MyService){};
ngOnInit {
this.obs = myService.getMyObs().subscribe(data => {
// Do stuff here...
});
}
}
を
export class MyService {
getMyObs(){
return new Observable(observer => {
observer.next(42);
});
}
}
をその方法の一つに、観察を返すサービス、MyService
、例えばを作成しましたRxJs documentationは、あなたの観測者があなたの観測者にメッセージをもはや放出しないことを知っているように、あなたの観測可能なものから脱会することについて話しています。そのため、私は私のコンポーネントが破棄されますときに私は、観測可能からこの一方で
export class MyComponent implements OnInit, OnDestroy {
obs: any;
constructor(private myService: MyService){};
ngOnInit {
this.obs = myService.getMyObs().subscribe(data => {
// Do stuff here...
});
}
ngOnDestroy {
this.obs.unsubscribe();
}
}
のようなものを退会する必要があります考え出した私には理にかなって、何unsubscribe
方法がないと言ってtypescriptですコンパイラは、スロー(そして実際にアプリケーションがスローされます) 。型定義ファイルにそのようなメソッドが記述されていないようです。 TypeScriptを使用してオブザーバブルから正しくサブスクライブを解除するにはどうすればよいですか?