XoBpawok
@XoBpawok
прикидаюсь JS девелопером

SetTimeOut возвращает отрицательное значение?

Сразу скажу, что я знаю, что возвращается целое значение и отрицательное целое = тоже целое _))
Просто никогда раньше не видел такого.

Буду благодарен за пруффлинк на доку, если такова имеется.

Спасибо.
  • Вопрос задан
  • 281 просмотр
Решения вопроса 2
k12th
@k12th
console.log(`You're pulling my leg, right?`);
8.4 Timers
Each object that implements the WindowTimers interface has a list of active timers. Each entry in this lists is identified by a number, which must be unique within the list for the lifetime of the object that implements the WindowTimers interface.

Это число и оно должно быть уникальным в пределах данного объекта, реализующего этот интерфейс. То есть спека не запрещает ему быть отрицательным. То есть это implementation specific.

Я бы не стал полагаться, что оно может быть отрицательным или только положительным. А вам критично разграничивать?
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
static int timeoutId()
{
    static int lastUsedTimeoutId = 0;
    ++lastUsedTimeoutId;
    // Avoid wraparound going negative on us.
    if (lastUsedTimeoutId <= 0)
        lastUsedTimeoutId = 1;
    return lastUsedTimeoutId;
}

исходя из этого кода - негативным timeoutID быть не может. Там есть проверка, если все id-шки закончились и пошло переполнение - то ресетится в единицу. Но это хром. В других браузерах может быть все совсем по другому. Главное не привязывать логику к формату timeoutID и все будет хорошо.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы