RxJS 6 - flatMap 条件
RxJS 6 - flatMap condition
我有一个表单可以在后端创建一个项目,并且可以选择另一个资源,具体取决于用户是否选择了一个复选框。第二个资源只能在第一个资源创建之后创建。我想出了这段代码,但我认为这不是正确的做法,尤其是复选框未被选中的部分,我不得不 return 一个无意义的 Observable。有什么帮助吗?
this.myService.createArticle(article)
.flatMap(_ => {
if (this.checkbox) {
return this.mailer.createOtherResource(data);
} else {
return Observable.of('done');
}
});
我也试过 returning 一个 EmptyObservable,但它不起作用。
即使此问题与 重复,但由于 RxJS 版本的不同,存在一些差异。在 RxJS 6 中,这将与此类似:
this.myService.createArticle(article)
.pipe(
filter(() => this.checkbox),
flatMap(() => return this.mailer.createOtherResource(data)),
});
我有一个表单可以在后端创建一个项目,并且可以选择另一个资源,具体取决于用户是否选择了一个复选框。第二个资源只能在第一个资源创建之后创建。我想出了这段代码,但我认为这不是正确的做法,尤其是复选框未被选中的部分,我不得不 return 一个无意义的 Observable。有什么帮助吗?
this.myService.createArticle(article)
.flatMap(_ => {
if (this.checkbox) {
return this.mailer.createOtherResource(data);
} else {
return Observable.of('done');
}
});
我也试过 returning 一个 EmptyObservable,但它不起作用。
即使此问题与
this.myService.createArticle(article)
.pipe(
filter(() => this.checkbox),
flatMap(() => return this.mailer.createOtherResource(data)),
});