我正在通过订阅器监听TypeORM中的模型更改事件,并在每次插入新事件时广播一个事件。虽然外部客户端可以接收到该事件,但网关的
网关已经成功注入到订阅器服务中,当我尝试使用它时,网关的服务器似乎已准备就绪,但没有事件被发出。
运行在NestJS 6.3.1上,我还尝试从控制器中发出事件,但没有结果。
@SubscribeMessage()
方法没有接收到它,这表明发送者没有接收到该事件。不过,根据socket.io的说法,of('namespace').emit('event')
应该被任何客户端(包括发送者)接收到。网关已经成功注入到订阅器服务中,当我尝试使用它时,网关的服务器似乎已准备就绪,但没有事件被发出。
运行在NestJS 6.3.1上,我还尝试从控制器中发出事件,但没有结果。
@WebSocketGateway({ namespace: '/posts' })
export class PostGateway {
@WebSocketServer()
server: Namespace;
@SubscribeMessage('create')
handleMessage(client: Socket, payload: Post): void {
console.log('handling', payload);
}
}
@Injectable()
export class PostSubscriber implements EntitySubscriberInterface<Post> {
private socket: Namespace;
constructor(
@InjectConnection() readonly connection: Connection,
private readonly gateway: PostGateway,
) {
connection.subscribers.push(this);
this.socket = gateway.server;
}
listenTo() {
return Measurement;
}
afterInsert(event: InsertEvent<Post>): void {
this.gateway.server.emit('create', event.entity);
}
}