Несколько @WebsocketGatways, ловушка жизненного цикла вызывается несколько раз для каждого соединения - PullRequest
0 голосов
/ 05 июля 2019

У меня есть несколько @WebsocketGateways в моем проекте, один реализует хук жизненного цикла OnGatewayConnection. Кажется, что хук жизненного цикла вызывается один раз для каждого шлюза, хотя их реализует только один. Это поведение по умолчанию, ошибка или я что-то не так делаю?

CommonGateway

@WebSocketGateway()
export class CommonGateway implements OnGatewayConnection, OnGatewayDisconnect {
  @WebSocketServer() server;
  users: number = 0;

  handleConnection() {
    this.users++;

    console.log('USER CONNECTED: ', this.users);
  }

  handleDisconnect() {
    this.users--;

    console.log('USER Disconnected: ', this.users);
  }
}

DatesGateway

import {
  WebSocketGateway,
  SubscribeMessage,
  WsResponse,
} from '@nestjs/websockets';
import { CommonService } from 'src/common/common.service';

@WebSocketGateway()
export class DatesGateway {
  constructor(private readonly commonService: CommonService) {}

  @SubscribeMessage('dates-now')
  onNow(client): Promise<WsResponse<Date>> {
    return Promise.resolve(this.commonService.now).then(now => ({
      event: 'dates-now',
      data: now,
    }));
  }
}

Скриншот консоли

enter image description here

Небольшой репозиторий, демонстрирующий проблему, можно найти здесь

спасибо

...