可观察的销毁后,订阅仍然有效吗?

时间:2019-05-08 19:38:16

标签: angular rxjs observable subscribe unsubscribe

我知道即使在组件被销毁后,订阅仍然保持活动状态... 但是在源Observable被销毁后该怎么办

一个组件正在创建一个FormGroup并订阅某些控件的valueChanges。稍后,数据可能会更新,并将重新创建表单。那么valueChanges订阅会怎样?重新创建表单之前我应该​​取消订阅吗?

constructor(public tenderApplicantService: TenderApplicantService, private fb: FormBuilder) {
    this.updateForm();
}

updateForm(data?: Bid) {
    const insuranceArr: FormArray = data && data.prequalify && data.prequalify.insurance
        .map(d => {
            const control = this.fb.control(d.accepted, Validators.requiredTrue);
            control.valueChanges.subscribe(val => d.accepted = val) // <-- Will this remain ??
            return control;
        });

    // etc...
}

//...

请不要说这不是"Observable subscription remains active after component has been destroyed" 的重复,即使事实证明是我要销毁源Observable而不是使用者组件的相同结果。

0 个答案:

没有答案