Как обратиться к внешней переменной из функции в setTimeout
Код выглядит примерно вот так:
() => {
let delay = 1000;
let timerId = setTimeout(function request() {
Promise.all(
// здесь что-то делаем
)
.then(() => {
// и здесь хотим перезапустить setTimeout вот таким путем
timerId = setTimeout(request, delay)
})
}, delay)
}
VS Code говорит, что timerId объявлен, но нигде не используется. При этом к delay
у него претензий нет.
В чём проблема с видимостью timerId
?
Как перезапустить setTimeout
?
Источник: Stack Overflow на русском