Files
Rahoot/socket/utils/cooldown.js
2025-09-28 12:58:51 +02:00

31 lines
607 B
JavaScript

let cooldownTimeout = null
let cooldownResolve = null
export const abortCooldown = () => {
clearInterval(cooldownTimeout)
if (cooldownResolve) {
cooldownResolve()
}
}
export const cooldown = (ms, io, room) => {
let count = ms - 1
return new Promise((resolve) => {
cooldownResolve = resolve
cooldownTimeout = setInterval(() => {
if (!count) {
clearInterval(cooldownTimeout)
resolve()
}
io.to(room).emit("game:cooldown", count)
count -= 1
}, 1000)
})
}
export const sleep = (sec) => new Promise((r) => void setTimeout(r, sec * 1000))