Если у вас есть сокетоподобное соединение, вы можете обернуть его Observable следующим образом:
function channelObs(channel) {
return new Observable<any>(
(subscriber: Observer<any>) => {
channel.on('eventId',
event => {
subscriber.next(event);
}
);
return () => {// tearDownLogic, i.e. code executed when this Observable is unsubscribed
}
);
}
Observable, возвращаемое функцией channelObs
, может обрабатываться всеми операторами, предлагаемыми Rx JS