Как отключить все события js при выполнении конкретной функции

Как сделать так, чтобы при клике на кнопку и начале выполнения определённой функции - нельзя было её выполнить ещё раз пока она не закончит свою задачу?


Ответы (1 шт):

Автор решения: HTO HOT

Можешь в начале запуска функции делать кнопку отключённой, а под конец включённой

const sleep = (ms)=>{
  return new Promise((res,rej)=>{
    setTimeout(res,ms)
  })
}
const handler = async (event)=>{
  event.target.disabled = true
  console.log(1)
  await sleep(400)/// вместо этой строки любой ваш код
  console.log(2)
  event.target.disabled = false
}
const button = document.querySelector('button')
button.addEventListener('click',handler)
<button>Кнопка</button>

→ Ссылка