javascript - 有条件地合并映射

标签 javascript angular rxjs

是否有任何 RxJS 方法可以有条件地在 Angular 中调用 mergeMap:

return apiService.myApi.get().pipe(map(res => res), mergeMap(res => this.getPeople(res)))

像这样:

return apiService.myApi.get().pipe(map(res => res), 
                        someCond ? mergeMap(res => this.getPeople(res)) : null)

最佳答案

不,但您可以使用 of() 返回原始值或使用 EMPTY 不再发出任何内容:

return apiService.myApi.get().pipe(
  map(res => res),
  mergeMap(res => someCond ? this.getPeople(res) : of(res)),
);

关于javascript - 有条件地合并映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63782509/

相关文章:

angular - 如何根据页面偏移量将 Angular CDK Overlay 组件保留在页面内

python - s3 : what is the 'key' parameter of the s3. put_object() 方法?

javascript - 如何在 RxJS 5 中创建 Hot Observable

javascript - Cookie不在XHR请求/跨域中发送

javascript - 推送到列表后获取 firebase 中的路径

angular - 如何以 Angular 6 的形式返回值作为 observable

javascript - 在变量更改时运行函数

javascript - Smooth Streaming .ism 到 HTML5 视频标签

javascript - 使用 FlatList react native ScrollView

javascript - 从 E4X 复制的 XML 中删除命名空间属性