相关疑难解决方法(0)

将Angular2 Http响应转换为ConnectableObservable

我必须承认我正在使用Angular2做我的第一步,我在这里遇到了一个问题,我有一些问题需要理解.我使用的是angular2@2.0.0-beta.0,它依赖于rxjs@5.0.0-beta.0.

我的目的是发出HTTP请求(到REST服务)并允许将响应发送给返回的observable的多个订阅者.如果我正确理解文档,我可以使用publish()函数将例如http.post函数返回的Observable转换为ConnectableObservable,通过多次调用ConnectableObservable.subcribe(...)来注册多个subsriber,然后调用ConnectableObservable .connect()实际执行HTTP请求,例如:

var obs: Observable<Response> = this.http.post(...);
var cobs: ConnectableObservable<Response> = obs.publish();
cobs.subscribe(sub1);
cobs.subscribe(sub2);
cobs.connect();
Run Code Online (Sandbox Code Playgroud)

至少我的IDE接缝同意这一点,并没有显示任何警告.运行代码,但我得到以下错误:

EXCEPTION:评估"click"时出错
ORIGINAL EXCEPTION:TypeError:obs.publish不是函数

如果我obs在调试器中检查对象,则实际上只有一小部分记录的函数可用.如果我查看Observable类的实现,确实只实现了一些记录的函数.大多数函数(其中包括publish函数)仅在没有任何实际实现的情况下声明为函数签名.

我在这里做了一些明显错误的事情,还是我完全误解了如何使用RxJS observables?

如果重要的话,我正在构建gulp,使用npm来解析和下载依赖项,并在我的node_modules目录中包含rxjs/bundles/Rx.js.

observable rxjs angular

2
推荐指数
1
解决办法
2344
查看次数

标签 统计

angular ×1

observable ×1

rxjs ×1