Как возвращать из функции время каждую секунду?
Я хочу отобразить на странице текущее время, так чтобы оно обновлялся каждую секунду.Проблема в том, в функции return не возвращает обновленное время
function showTime(){
const date = new Date();
const currentTime = date.toLocaleTimeString();
setTimeout(showTime, 1000);
//console.log(currentTime); работает корректно
return currentTime;
}
showTime();
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Не понимаю, чем вам не угодил такой подход (делать вывод значения прямо в функции):
function showTime(){
const date = new Date();
const currentTime = date.toLocaleTimeString();
const timeElement = document.querySelector('time');
timeElement.textContent = currentTime;
setTimeout(showTime, 1000);
}
showTime();
<time></time>
может быть сделать вот так, чтобы отделить функцию взятия даты и рендер
let timer = document.querySelector('time');
function getTime() {
return (new Date()).toLocaleTimeString();
}
function renderTime(timer){
timer.textContent = getTime();
setTimeout(renderTime, 1000, timer);
}
renderTime(timer);
<time></time>