angular2 http请求和websocket

标签 angular websocket observable

<分区>

大家好,我有一个应用程序,直到现在只执行 http 请求来检索数据...现在的问题是我们还有一个 websocket,但我不知道如何将它们结合起来:

这是我的 http 请求:

 public stock(): Observable<any> {
    if (!this._stock) {
        // rest api
        this._stock = this.http.get(url)
            .map((stock: Response) => {
                // cache the value
                stock.json().items.forEach((item) => {
                    this._stock[item.productKey] = item;
                });
                return this._stock;
            })
            .publishReplay(1)
            .refCount();
    }
    return this._stock;
}

这是网络套接字:

public getStockMessages(): Observable<any> {
    return new Observable(obs => this.inventoryChannel.on(`STOCK`, (data) => {
        return obs.next(data);
    }));
}

最佳答案

鉴于您上面所说的,您似乎希望:

  1. 从服务器请求单个值。
  2. 从网络套接字获取额外的值。
stock().concat(getStockMessages())

...可能是您想要的。

但老实说,我仍然很难弄清楚你到底想做什么......但我认为这会解决你的问题。

关于angular2 http请求和websocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43971190/

相关文章:

java - RxJava 嵌套 Zip 操作不返回

android - 无法启动服务器 QWsServer 错误 : The address is protected

angularjs - JHipster Atmosphere websocket 不连接

plugins - 有没有可用的安全 websocket(wss 协议(protocol))客户端浏览器插件?

javascript - Angular:触发间隔观察

scala - RxScala doOnCompleted 调用 .take() 后未触发

Angular IBM Bluemix Cloudant 示例代码

javascript - 锁定 Javascript 函数

Angular 变化。订阅不触发

javascript - Angular 2 : Using Set? 浏览器兼容性和迭代不可能