通过邮递员,我连接到了计时器更新事件,但当时间=0时,我仍然没有收到计时器对象
时间服务.ts
@Cron(CronExpression.EVERY_SECOND)
async updateRemainingTime() {
const timers = await this.timerModel.find({
isActive: true,
remainingTime: { $ne: null },
});
for (const timer of timers) {
if (timer.isInfinite) {
timer.remainingTime += 1;
timer.pricePerHour += timer.price / 60;
} else if (timer.remainingTime > 0) {
timer.remainingTime -= 1;
timer.pricePerHour += timer.price / 60;
if (timer.remainingTime === 0) {
this.socketServer.emit('timer-updated', timer);
}
}
else if(timer.remainingTime === 0) {
await this.clear(timer._id);
this.socketServer.emit('timer-expired', timer);
}
await timer.save();
}
}
这是我的时间。gateway.ts
@WebSocketGateway()
export class TimerGateway implements OnModuleInit {
@WebSocketServer()
server: Server;
onModuleInit() {
this.server.on('connection', (socket) => {
console.log(`User with ${socket.id } id is connected!`);
});
}
}