【发布时间】:2016-12-04 11:29:38
【问题描述】:
一点背景故事,我有一个应用程序,它使用 websockets 进行所有主要的通信方式。要创建该套接字,我必须从本地存储中检索令牌,然后连接套接字并针对服务器进行身份验证。
但是我希望能够立即观察套接字事件,所以我创建了一个异步套接字服务,它允许我将套接字绑定排队并在建立连接后执行它们。这似乎一直有效,我尝试使用Observable.bindCallback 函数观察socket.on。这只工作一次,然后再也不会输出任何东西。
套接字服务的代码在这里http://pastebin.com/Mub9zSWQ
我从我的应用组件调用socket.observe('likePost').do(res => console.debug(res)).subscribe(res => store$.dispatch(new LikePostReceivedAction(res.user_id, res.post_id))); 来处理套接字事件。
我也愿意接受有关如何处理套接字初始化的其他想法,尤其是当我必须重新连接套接字时该怎么做。
【问题讨论】:
标签: angular socket.io rxjs ngrx