繁体   English   中英

有条件的可观察链

[英]Chain of observables with conditions

所以我有 3 个 observables:updateCustomUserData$、updateEmail$、updatePassword$。 和profileEditForm。 如果更改了适当的表单字段,我需要更新个人资料数据; 我认为它应该是这样的:

updateCustomUserData$(data) {
  return iif(() => customDataWasChanged(), apiService.updateCustomUserData())
}

// updateEmail$ and updatePassword$ is similar


onSubmit() {
  this.updateCustomUserData$(formData).pipe(
    concatMap(() => this.updateEmail$(newEmail))),
    concatMap(() => this.updatePassword$(newPassword),
  )
  .subscribe(() => doSomething())
}

但它不起作用。 如果自定义数据未更改且密码或 email 执行 - updateEmail 和 updatePassword 未执行。 有人可以帮忙吗? PS对不起我的英语:)

何时调用 onSubmit 方法?
我认为您应该定义 ngOnInit 而不是 onSubmit。

export class AppComponent implements OnInit {
  ngOnInit() {
    this.updateCustomUserData$(formData).pipe(
      concatMap(() => this.updateEmail$(newEmail))),
      concatMap(() => this.updatePassword$(newPassword),
    )
    .subscribe(() => doSomething())  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM