誰かが)私は2番目の場合には、私は(退会しなければならないことを知っている私に、サブスクリプションのこの二つの方法、最初のケース角度2サブスクリプション
this.incMatService.incomingMaterialUpdate$.subscribe((model) => {
try {
code here
} catch (error) {
console.log(error);
}
});
this.incMatService.incomingMaterialNew$.subscribe((x) => {
try {
this.imForm = this.initImForm();
}
catch (error) {
console.log(error);
}
})
と第2ケース
subscription: Subscription;
subscriptionToAdd: Subscription;
subscription = this.incMatService.incomingMaterialUpdate$.subscribe((model) => {
try {
code here
} catch (error) {
console.log(error);
}
});
subscriptionToAdd = this.incMatService.incomingMaterialNew$.subscribe((x) => {
try {
this.imForm = this.initImForm();
}
catch (error) {
console.log(error);
}
})
の違いを説明することができ、私は最初のケースでどのように状況が見えるか分かりません。私は例に示しように私のサービスからのコードの他の
private updateIncomingMaterial = new ReplaySubject<IncomingMaterial>(0);
private addNewIncomingMaterial = new Subject();
incomingMaterialUpdate$ = this.updateIncomingMaterial.asObservable();
incomingMaterialNew$ = this.addNewIncomingMaterial.asObservable();
updateIncMaterial(incomingMaterialToUpdate: IncomingMaterial) {
this.updateIncomingMaterial.next(incomingMaterialToUpdate);
}
addNewIncMaterial(){
this.addNewIncomingMaterial.next();
}
は、私は別のものでは一つの成分とsubscripeでこのイベントを発する
私は変数によってそれをしないと、私はメモリリークの責任を負うようになるのですか? – Stefan
いいえ。購読を停止しないと、メモリリークが発生します。また、登録を解除する必要があるので、後でunsubscribe()を呼び出すには、サブスクリプションへの参照を保持して変数に格納する必要があります。 –
どのように私は最初のケースで私が解約することはできませんので、私はメモリリークがある可能性が理解できるように、より良い場合を認識する方法。 – Stefan