Показать сообщение отдельно
  #3 (permalink)  
Старый 17.09.2018, 12:41
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Цитата:
let timer;
clearTimeout(timer);
Так Вы тут по факту заново заводите переменную таймера, которая равна undefined.

Сохраняйте ID таймаута в this.



wait(callback, time) {
             
            clearTimeout(this._timer);
             
            if (this.socket.readyState === 1) {
                callback();
            } else {
                this._timer = setTimeout(() => this.wait(callback, time), time);
            }
        }
Ответить с цитированием