@yankoyski

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

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

function f() {

        setInterval(function () {

            return 1;

        }, 500);
    }
  • Вопрос задан
  • 651 просмотр
Решения вопроса 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
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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