@missbells

Как исправить ошибку jshint (W083)?

Подскажите пожалуйста, как можно решить данную проблему.
Мне нужно объявлять таймер за пределами цикла, но это вызывает ошибку.
let timerSearch = 0;
        for (let i = 0; i < points.length; i++) {
            setTimeout(() => {
                console.log("i");
            }, timerSearch += 500);
        }


error: Functions declared within loops referencing an outer scope variable may lead to confusion semantics. (W083)
  • Вопрос задан
  • 1692 просмотра
Пригласить эксперта
Ответы на вопрос 2
profesor08
@profesor08 Куратор тега JavaScript
После 500 ты забыла закрыть скобку.
timerSearch += 500);
Ответ написан
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Как-нибудь так (не проверял, сработает ли jshint):

function delayedSearch(pointIndex) {
    setTimeout(() => {
        console.log(pointIndex);
    }, pointIndex * 500);
}

for (let i = 0; i < points.length; i++) {
    delayedSearch(i);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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