Задать вопрос
@yankoyski

Как вернуть результат из setInterval?

Почему функция возвращает undifinded?

function f() {

        setInterval(function () {

            return 1;

        }, 500);
    }
  • Вопрос задан
  • 705 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Почему функция возвращает undifinded?

Потому что функция f синхронно отрабатывает и не возвращает никакого результата.

Как вернуть результат из setInterval?

Можно захардкодить, можно использовать колбек или Promise.
Хардкод:
function f() { 
  setTimeout(console.log, 500, 1);
}

f(); // 1


Колбек:
function f(cb) { 
  setTimeout(cb, 500, 1);
}

f(console.log); // 1


Promise:
function f() {
  return new Promise(resolve => {
    setTimeout(resolve, 500, 1);
  });
}

f().then(console.log); // 1
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы