rxjs5.5.0-beta:不同于map的mergeMap行为&x2B;合并所有

rxjs5.5.0-beta:不同于map的mergeMap行为&x2B;合并所有,rxjs,rxjs5,Rxjs,Rxjs5,我在创建一个可复制的示例时遇到困难,请耐心等待 我创建了一个库,它将异步API响应封装在一个可观察的对象中。该库大大简化了,它具有类似于lib.ask(“端点”)的函数,这些函数通过API调用对该端点的响应返回一个可观测值 我希望在每次发生另一个事件时运行该API调用。我正试图根据具体情况,使用mergeMap/switchMap/concatMap的某些版本对其进行建模。让我们以mergeMap为例 如果我使用map+mergeAll,它就可以正常工作。我是这样写的: var response

我在创建一个可复制的示例时遇到困难,请耐心等待

我创建了一个库,它将异步API响应封装在一个可观察的对象中。该库大大简化了,它具有类似于
lib.ask(“端点”)
的函数,这些函数通过API调用对该端点的响应返回一个可观测值

我希望在每次发生另一个事件时运行该API调用。我正试图根据具体情况,使用mergeMap/switchMap/concatMap的某些版本对其进行建模。让我们以mergeMap为例

如果我使用map+mergeAll,它就可以正常工作。我是这样写的:

var responses$ = event$.pipe(
    map(()=>lib.ask("end-point")),
    mergeAll()
);
当我订阅responses$时,我得到了我的回复

但是,如果改用mergeMap重写同一个链,它将不起作用:

var responses$ = event$.pipe(
    mergeMap(()=>lib.ask("end-point"))
);
在这种情况下,当我订阅时,我不会得到任何结果。看起来似乎内部订阅从未进行过


正如我所说,我正在努力创建一个可复制的示例。我试图调试RxJS所做的工作,试图找出这件事失败的地方,但一直未能找到答案。如果有人能想到为什么或者在什么情况下,mergeMap的行为与map+mergeAll不同,这可能会帮助我找出问题所在。

这可能只是我的无知,但什么是
管道
?这仅仅是为了链接操作员吗?如果没有复制,我想没有什么可以说的了。
pipe
的引入更像是一种重新安排,因此如果在重新安排RxJS代码库时引入了bug,那么它应该是易于复制的类型。我认为这个问题要么需要失败的实际代码,要么需要重新编译。一旦你有了一个复制,就创建一个RxJS GitHub问题。这可能只是我的无知,但什么是
管道
?这仅仅是为了链接操作员吗?如果没有复制,我想没有什么可以说的了。
pipe
的引入更像是一种重新安排,因此如果在重新安排RxJS代码库时引入了bug,那么它应该是易于复制的类型。我认为这个问题要么需要失败的实际代码,要么需要重新编译。一旦你有了一个副本,就创建一个RxJS GitHub问题。