0

我有一个 Angular v7 应用程序,我在其中使用 Rxjs 主题。以下是部分代码。我正在使用多种方法订阅。但只有最后一个订阅有效,其他订阅无效。

this.userSelectionChangeSubscription = this.userSelectionChangeSubject
    .pipe(debounceTime(environment.saveDebounceTime))
    .subscribe((saveCallback) => {
        this.reloadColumns();
        saveCallback();
    }); 

//on change of a dropdown 
onPremiumBasisChanged(premiumBasis: number[]): void {
    this.onUserSelectionChanged(() => this.saveMethodParameters());
}   

onDevelopmentMethodsChanged(developmentMethods: number[]): void {
    this.initialData.selectedDevelopmentMethods = developmentMethods;
    this.onUserSelectionChanged(() => this.saveMethodParameters());
}       

onUserSelectionChanged(saveCallback: () => void): void {
    this.userSelectionChangeSubject.next(saveCallback);
}   

private saveMethodParameters() {

// actual save code goes here

}

什么是正确的方法?

谢谢

4

0 回答 0