Как создать точный setTimeout (не интервал) в Javascript? - PullRequest
0 голосов
/ 10 апреля 2019

Мне нужно создать эффект «выбор при наведении» (задержка) в моем приложении, и важно быть своевременным и точным.Это должно срабатывать только один раз для каждого тайм-аута вызова и не должно быть зацикленным.Функция задержки присоединяется к элементу (getElementById).

Моя реализация в настоящее время иногда работает блестяще, а иногда для ее завершения требуется много времени.Иногда обратный вызов не срабатывает после setTimeout.

dwell: (elem, select) => {
   var timeout = 0
    elem.onmouseover = () => {
      timeout = setTimeout(select, dwellTime)
    }

    elem.onmouseout = () => {
      clearTimeout(timeout)
    }
  }

Функция обратного вызова select должна выполняться ТОЧНО после истечения времени dwellTime.Есть идеи, пожалуйста?

...