ws-client-events-decorators

1.0.4 • Public • Published

Not a big extension for socket.io-client You can use promises to send events to the server and get the result.

import {Socket} from 'socket.io-client';
import * as io from 'socket.io-client';
import {WsEvent} from 'ws-client-events-decorators';
 
export class OrdersService {
  private socket: Socket;
 
  @WsEvent({name: 'cancel order', error: 'error cancel order'})
  public cancelOrder: (orderId: number) => Promise<void>;
 
  @WsEvent({name: 'cancel order', success: 'success cancel order'})
  public createOrder: (amount: number, price: number) => Promise<{orderId: number}>;
 
  constructor() {
    this.socket = io('localhost:4200');
  }
}
 
(async () => {
    const ordersService = new OrdersService();
    
    const orderId = await ordersService.createOrder(3, 4);
    
    try {
        await ordersService.cancelOrder(orderId);
        // SUCCESS !!!
    } catch (e) {
      // has a ERROR, resolve it
      console.log(e.message);
    }
})();

Issues: antonantion@mail.ru

Readme

Keywords

none

Package Sidebar

Install

npm i ws-client-events-decorators

Weekly Downloads

1

Version

1.0.4

License

ISC

Unpacked Size

4.05 kB

Total Files

4

Last publish

Collaborators

  • madbers3