Javascript ';订阅';不推荐使用。使用观察者而不是完全回调
嗨,我在SonarQube上有以下错误 “订阅”已弃用。使用观察者而不是完全回调。 我在第九章中正式使用。 谢谢你的帮助和时间Javascript ';订阅';不推荐使用。使用观察者而不是完全回调,javascript,angular,angular-formly,Javascript,Angular,Angular Formly,嗨,我在SonarQube上有以下错误 “订阅”已弃用。使用观察者而不是完全回调。 我在第九章中正式使用。 谢谢你的帮助和时间 onInit: (field: UiFormFieldConfig) => { const CostsControl = FormUtil.getControl(field.form, ContactDetailsFieldKey.Costs); CostsControl?
onInit: (field: UiFormFieldConfig) => {
const CostsControl = FormUtil.getControl(field.form, ContactDetailsFieldKey.Costs);
CostsControl?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((Cost: string) => {
if (Cost) {
const costsToSet = !Codes ? null : Cost;
field?.formControl?.setValue(costsToSet);
}
});
},
},
请查找更新的代码,sonarQube正在弹出此消息
“订阅”已弃用。使用观察者而不是完全回调
hooks: {
onInit: (field: UiFormFieldConfig) => {
const CostsControl = FormUtil.getControl(field.form, ContactDetailsFieldKey.Costs);
CostsControl ?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe({
next: (Cost: string) => {
if (Cost) {
const costsToSet = !Codes ? null : Cost;
field?.formControl?.setValue(costsToSet);
}
},
});
},
},
根据@Philipp Meissner提到的答案,您应该简单地做:
CostsControl?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(
next: (Cost: string) => {
if (Cost) {
const costsToSet = !Codes ? null : Cost;
field?.formControl?.setValue(costsToSet);
}
},
error: () => { // log error }
});
也许您需要添加“下一步”:func和去润滑方法。订阅({next:this.handleUpdateResponse.bind(this),错误:this.handleError.bind(this)});看:这回答了你的问题吗@PhilippMeissner听起来不太让我困惑。任何指南都将受到衷心的感谢:)@snoopy这听起来令人困惑,还是提供的示例根本不起作用?如果是这样,你到底尝试了什么?(在你的问题中添加代码+错误)。我也这么做了,但sonarQube仍然抱怨“订阅”不受欢迎。使用观察者而不是完全回调。是否有其他解决此问题的方法请回答您的初始问题并添加您尝试过的代码。如果你做的每件事都是对的,错误就会消失。再次感谢你的帮助。请查找我的更新问题,新代码显示在我的初始代码下面。感谢您的时间和回复