我正在将RXJS 6与Angular 6 HttpClient一起使用,并且试图依次执行两个http调用。
我想到了如下使用tap方法的方法:
someMethod(items: Item[]): Observable<Item[]> {
const one = this.http.put<{ items: Item[] }>('urlOne', items);
const two = this.http.put<void>('urlTwo', items);
return one.pipe(
mergeMap((res)=> res.items),
tap(two)
);
}
有更好的方法吗?如果可以,怎么办?
答案 0 :(得分:3)
您可以使用map
而忽略第二个结果:
one.pipe(
mergeMap((res) => two.pipe(
mapTo(res)
),
);