【发布时间】:2019-05-23 09:44:54
【问题描述】:
我有一项使用 SignalR 与服务器通信的服务。服务消费者订阅了 Rxjs 的主题,但我想要的是他们应该传递一些额外的数据(在这种情况下是一个字符串),并且在服务接收到来自服务器的数据之后,可以通过调用 next() 方法来选择要执行的订阅者。
我尝试编写一个新的订阅方法并存储每个订阅,但无法链接订阅和观察者。这是我的代码:
private subscriptions = new Array<{registerationName:string,subscription:Subscription}>();
private receiver = new Subject();
public subscribe(registerationName:string ,next?: (value: {}) => void, error?: (error: any) => void): Subscription
{
var s = this.receiver.subscribe(next,error);
this.subscriptions.push({registerationName:registerationName,subscription:s});
return s;
}
显然上述方法不起作用。我到底想做的是这样的:
this.receiver.observer.where(p=>p.registerationName==stringFromServer).next({...})
【问题讨论】:
标签: angular filter rxjs signalr subject