diff --git a/docs/API.md b/docs/API.md index 2edd9686d..873a00c76 100644 --- a/docs/API.md +++ b/docs/API.md @@ -51,12 +51,27 @@ - [Event: 'reconnecting'](#event-reconnecting-1) - [Event: 'reconnect_error'](#event-reconnect_error-1) - [Event: 'reconnect_failed'](#event-reconnect_failed-1) + - [Event: 'ping'](#event-ping-1) + - [Event: 'pong'](#event-pong-1) ### IO Exposed as the `io` namespace in the standalone build, or the result of calling `require('socket.io-client')`. +```html + + +``` + +```js +const io = require('socket.io-client'); +// or with import syntax +import io from 'socket.io-client'; +``` + #### io.protocol * _(Number)_ @@ -372,11 +387,11 @@ Fired when a pong is received from the server. An unique identifier for the socket session. Set after the `connect` event is triggered, and updated after the `reconnect` event. ```js -var socket = io('http://localhost'); +const socket = io('http://localhost'); console.log(socket.id); // undefined -socket.on('connect', function(){ +socket.on('connect', () => { console.log(socket.id); // 'G5p5...' }); ``` @@ -433,13 +448,13 @@ socket.emit('with-binary', 1, '2', { 3: '4', 5: new Buffer(6) }); The `ack` argument is optional and will be called with the server answer. ```js -socket.emit('ferret', 'tobi', function (data) { +socket.emit('ferret', 'tobi', (data) => { console.log(data); // data will be 'woot' }); // server: -// io.on('connection', function (socket) { -// socket.on('ferret', function (name, fn) { +// io.on('connection', (socket) => { +// socket.on('ferret', (name, fn) => { // fn('woot'); // }); // }); @@ -454,9 +469,18 @@ socket.emit('ferret', 'tobi', function (data) { Register a new handler for the given event. ```js -socket.on('news', function (data) { +socket.on('news', (data) => { console.log(data); }); + +// with multiple arguments +socket.on('news', (arg1, arg2, arg3, arg4) => { + // ... +}); +// with callback +socket.on('news', (cb) => { + cb(0); +}); ``` The socket actually inherits every method of the [Emitter](https://github.com/component/emitter) class, like `hasListeners`, `once` or `off` (to remove an event listener). @@ -486,50 +510,140 @@ Synonym of [socket.close()](#socketclose). Fired upon a connection including a successful reconnection. +```js +socket.on('connect', () => { + // ... +}); + +// note: you should register event handlers outside of connect, +// so they are not registered again on reconnection +socket.on('myevent', () => { + // ... +}); +``` + #### Event: 'connect_error' - `error` _(Object)_ error object Fired upon a connection error. +```js +socket.on('connect_error', (error) => { + // ... +}); +``` + #### Event: 'connect_timeout' Fired upon a connection timeout. +```js +socket.on('connect_timeout', (timeout) => { + // ... +}); +``` + #### Event: 'error' - `error` _(Object)_ error object Fired when an error occurs. +```js +socket.on('error', (error) => { + // ... +}); +``` + #### Event: 'disconnect' + - `reason` _(String)_ either 'io server disconnect' or 'io client disconnect' + Fired upon a disconnection. +```js +socket.on('disconnect', (reason) => { + // ... +}); +``` + #### Event: 'reconnect' - `attempt` _(Number)_ reconnection attempt number Fired upon a successful reconnection. +```js +socket.on('reconnect', (attemptNumber) => { + // ... +}); +``` + #### Event: 'reconnect_attempt' - `attempt` _(Number)_ reconnection attempt number Fired upon an attempt to reconnect. +```js +socket.on('reconnect_attempt', (attemptNumber) => { + // ... +}); +``` + #### Event: 'reconnecting' - `attempt` _(Number)_ reconnection attempt number Fired upon an attempt to reconnect. +```js +socket.on('reconnecting', (attemptNumber) => { + // ... +}); +``` + #### Event: 'reconnect_error' - `error` _(Object)_ error object Fired upon a reconnection attempt error. +```js +socket.on('reconnect_error', (error) => { + // ... +}); +``` + #### Event: 'reconnect_failed' Fired when couldn't reconnect within `reconnectionAttempts`. + +```js +socket.on('reconnect_failed', () => { + // ... +}); +``` + +#### Event: 'ping' + +Fired when a ping packet is written out to the server. + +```js +socket.on('ping', () => { + // ... +}); +``` + +#### Event: 'pong' + + - `ms` _(Number)_ number of ms elapsed since `ping` packet (i.e.: latency). + +Fired when a pong is received from the server. + +```js +socket.on('pong', (latency) => { + // ... +}); +```