我有一个表单,可以在后端创建一个项目,还可以根据用户是否选中复选框来创建另一个资源。仅在第一个资源创建之后,才必须创建第二个资源。我想出了这段代码,但我认为这不是正确的方法,尤其是未选中复选框且必须返回废话Observable的部分。有什么帮助吗?
this.myService.createArticle(article)
.flatMap(_ => {
if (this.checkbox) {
return this.mailer.createOtherResource(data);
} else {
return Observable.of('done');
}
});
我还尝试返回EmptyObservable,但是它不起作用。
答案 0 :(得分:0)
即使这个问题是this question的重复,但由于RxJS版本的缘故,还是存在一些差异。在RxJS 6中,此操作与此类似:
this.myService.createArticle(article)
.pipe(
filter(() => this.checkbox),
flatMap(() => return this.mailer.createOtherResource(data)),
});