У меня есть несколько @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,
}));
}
}
Скриншот консоли
Небольшой репозиторий, демонстрирующий проблему, можно найти здесь
спасибо