RxJS 发出多个 AJAX 请求,然后使用另一个 AJAX 请求获取一个新列表

RxJS make multiple AJAX requests then get a new list with another AJAX request

目标是发出多个保存请求,然后使用另一个 ajax 请求获取新列表。我有以下似乎是我想要的,但想知道是否有更好的方法

of(1,2,3)
      .pipe(
        concatMap(vals => vals),
        concatMap(val => this.ajax.save(val)),
        takeLast(1)
      )
      .pipe(
        switchMap(() => this.ajax.get()),
        take(1)
      )
      .subscribe(result => {
        // do stuff
      });

扑救的结果并不重要。保存后得到的新结果就是我需要使用的结果。我使用了 takeLast(1),因为如果我不这样做,列表中的每个项目都会有一个获取请求。在上面的示例中,我有 3 个获取请求,我只想在所有保存完成后获取列表。

怎么样

combineLatest([1,2,3].map(val => this.ajax.save(val))).pipe(
  switchMap(resultsArr => this.ajax.get())
).subscribe(newVal => {});