@nurdus

Как передать timerID в setInterval?

Добрый вечер.
Как передать timerID в setInterval? (или как можно обратиться к самому себе в setInterval?) на стороне node.js
// вариант 1, работающий
let timerId = setInterval(() => {
  //...
  clearInterval(timerId);
}, 1000);

// вариант 2, НЕ работающий
const func = (timerId) => {
  //...
  clearInterval(timerId);
}
let timerId = setInterval(func, 1000, timerId); 
// timerId неопределен
  • Вопрос задан
  • 248 просмотров
Решения вопроса 1
@RidgeA
1 вариант работате благодаря замыканию

2 вариант можно сделать как-то так (возможны различные варианты):
const func = (timerId) => {
  //...
  clearInterval(timerId);
}

const timerFactory = (cb, timeout) => {
  let timerId = setInterval(() => {
    func(timerId)
  }, timeout);
  return timerId;
}
let timerId = timerFactory(func, 1000);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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