There was a race condition between the first poll and any other http request that was sent. In particular, if you called StartAsync then StopAsync it was possible for the delete to happen before the poll started leading to 400 errors. This change fixes that by making the very first poll return immediately so that the client can use that to determine if there was an error connecting. |
||
|---|---|---|
| .. | ||
| build | ||
| spec | ||
| src | ||
| README.md | ||
| package-lock.json | ||
| package.json | ||
| rollup.config.js | ||
| tsconfig.json | ||
README.md
JavaScript and TypeScript clients for SignalR for ASP.NET Core
Installation
npm install @aspnet/signalr
Usage
Browser
To use the client in a browser, copy *.js files from the dist/browser folder to your script folder include on your page using the <script> tag.
Node.js
The following polyfills are required to use the client in Node.js applications:
XmlHttpRequest- alwaysWebSockets- to use the WebSockets transportEventSource- to use the ServerSentEvents transportbtoa/atob- to use binary protocols (e.g. MessagePack) over text transports (ServerSentEvents)
Example (Browser)
let connection = new signalR.HubConnection('/chat');
connection.on('send', data => {
console.log(data);
});
connection.start()
.then(() => connection.invoke('send', 'Hello'));
Example (NodeJS)
const signalR = require("@aspnet/signalr");
let connection = new signalR.HubConnection('/chat');
connection.on('send', data => {
console.log(data);
});
connection.start()
.then(() => connection.invoke('send', 'Hello'));