我遇到了一个关于序列和并行服务调用的主题。对于序列调用,我们可以使用flatmap/mergemap,对于并行调用,我们可以使用forkjoin。
以下是我的疑问
1)平面图和丝光图有什么区别?有什么特别的理由使用这两种方法。
2)如何为4-5个呼叫添加多个序列?如果我使用多个订阅,平面映射和合并有什么区别?
this.service1.getCountry(
.mergeMap(country => this.service1.getState(country[0]))
.subscribe(state = > state.json());
);3)叉连接用于连接多个并行服务调用。如果我使用一个方法并在该方法中调用多个服务,而不是使用叉联接,该怎么办。使用forkJoin的任何具体原因
发布于 2017-12-09 06:08:51
flatMap === mergeMap.flatMap只是mergeMap运算符的别名。(https://github.com/ReactiveX/rxjs/blob/master/src/add/operator/mergeMap.ts#L5-L6)有人讨论取消一个别名,但到目前为止,在v5中都是可用的。concurrency param in mergeMap运算符(https://github.com/ReactiveX/rxjs/blob/master/spec/operators/mergeMap-spec.ts#L308-L325)感兴趣,它订阅了多个内部可观测到的内容。https://stackoverflow.com/questions/47725396
复制相似问题