@mradcliffe/ngx-signalr is a Angular module that provides an easy-to-use service to create SignalR hub connections. It wraps common SignalR methods in RxJS observables and allows http client interceptors (middleware) to be used in connections.
- Installation
- Usage
- Contributing
Confirm that your dependencies match for the Angular release you are using.
Angular | RxJS | zone.js |
---|---|---|
^6 | ^6.2 | ^0.8 |
^7 | ^6.4 | ^0.8 |
^8 | ^6.5 | ^0.9 |
^9 | ^6.5 | N/A |
npm install ngx-signalr
This provides a SignalrFactory
with which will create and start a new HubConnectios.
this.signalrFactory
.createHubConnection('https://example.com/hubs/test')
.pipe(skipWhile((c: SignalrHubConnection) => c === null));
A BehaviorSubject<SignalrHubConnection>
is returned from the factory. The SignalrHubConnection
wraps the HubConnection
methods in Observables.
// Subscribes to the "counted" method on the hub.
const subject = connection.on<number>('counted');
subject.subscribe((n: number) => {});
// Unsubscribe using this specific behavior subject for the "counted" method.
connection.off('counted', subject);
// Unsubscribe all "counted" methods.
connection.off('counted');
// Invokes the increment method on the hub with argument "count".
const count = 5;
connection.invoke<number>('increment', count)
.subscribe((n: number) => {});
// Send a method with arguments that only needs to check success.
connection.send('foo', 'bar)
.subscribe((success: boolean) => {
if (success) {
// Method was successful.
} else {
// Method was not successful.
}
});
Please read the CONTRIBUTING document.