RxJS 6-flatMap条件

时间:2018-07-11 15:28:48

标签: javascript flatmap rxjs6

我有一个表单,可以在后端创建一个项目,还可以根据用户是否选中复选框来创建另一个资源。仅在第一个资源创建之后,才必须创建第二个资源。我想出了这段代码,但我认为这不是正确的方法,尤其是未选中复选框且必须返回废话Observable的部分。有什么帮助吗?

this.myService.createArticle(article)
  .flatMap(_ => {
    if (this.checkbox) {
      return this.mailer.createOtherResource(data);
    } else {
      return Observable.of('done');
    }
  });

我还尝试返回EmptyObservable,但是它不起作用。

1 个答案:

答案 0 :(得分:0)

即使这个问题是this question的重复,但由于RxJS版本的缘故,还是存在一些差异。在RxJS 6中,此操作与此类似:

this.myService.createArticle(article)
  .pipe(
    filter(() => this.checkbox),
    flatMap(() => return this.mailer.createOtherResource(data)),
  });