Javascript RxJS forkjoin-isn';t运行

Javascript RxJS forkjoin-isn';t运行,javascript,node.js,rxjs,observable,reactive-programming,Javascript,Node.js,Rxjs,Observable,Reactive Programming,我正试图通过rxhttp请求使用RxJS从NodeJS服务器查询第三方api。从长远来看,我希望使用RxJS来处理一些更有趣的错误案例。但就目前而言,我在处理一个相当琐碎的案件时遇到了一些问题 案例1(本工程): 然后呢, import third from './third_party' third('bob').subscribe(console.log) 案例2(本案不适用) 案例1打印(正确的)第三方响应。案例2似乎从未运行过。当我打印出console.log(Rx.Obs

我正试图通过
rxhttp请求
使用RxJS从NodeJS服务器查询第三方api。从长远来看,我希望使用RxJS来处理一些更有趣的错误案例。但就目前而言,我在处理一个相当琐碎的案件时遇到了一些问题

案例1(本工程):

然后呢,

   import third from './third_party'
   third('bob').subscribe(console.log)
案例2(本案不适用)

案例1打印(正确的)第三方响应。案例2似乎从未运行过。当我打印出console.log(
Rx.Observable.forkJoin
)时,它会打印
函数
,例如,我实际上包含了Rx的正确部分

案例3: 第三方:

export default ((name) => RxHttpRequest.get(`www.third.party.com/${name}`).map((res)=>console.log(res))
内部console.log会触发,但外部subscribe不会触发。
为什么会发生这种行为?我如何将这些值发送到外部订阅?

如果您像这样导入
rx http请求

import { RxHttpRequest } from 'rx-http-request';
npm install --save rx-http-request
您可能是这样安装的:

import { RxHttpRequest } from 'rx-http-request';
npm install --save rx-http-request
您可能没有注意到以下警告信息:

npm警告已弃用的rx http-request@1.2.0:此程序包不再维护,已移动到@akanass/rx http request

该版本(1.2.0)远远落后于GitHub repo(2.3.0)中的版本

尝试使用
@akanass/rx http请求
,而不是:

npm install --save @akanass/rx-http-request

import { RxHR } from '@akanass/rx-http-request';
导出似乎已更改,因此您应该咨询


此外,您还应该注意
rxhttp请求
,因为它包括
rxjs
作为一个,而不是对等依赖项。这打开了安装多个
rxjs
软件包的可能性(取决于版本和安装顺序)。我鼓励您将其更改为对等依赖。

第三方('bob')emit
complete
forkJoin
需要内部observable在转发某些内容之前完成,因为它只从内部observable发出最后一条消息。另外,使用
do
查看副作用,如
do(e=>console.log(e))
如何检查是否发出complete?如果没有,我如何强制它完成emit呢?你可以执行
third('bob')。订阅(e=>console.log(“next:+e”),err=>console.log(“error:+err),()=>console.log(“complete”)
要强制它完成,你需要决定它何时完成。最简单的方法是做第三个('bob')。我想是(1)。谢谢!上述事实上并没有解决我的问题本身,而是发现了另一个我不知道的问题:)