Как заставить setTimeout задержать код после него?

setTimeout(() => console.log(1), 1000)
console.log(2);


нужно сделать так, чтобы seTimeout ждал (НЕ выполняя код ПОСЛЕ него), пока код внутри него не выполнится (после 1сек) и выводился результат 1, 2
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
joeberetta
@joeberetta Куратор тега JavaScript
Читай: https://epdf.pub/google-for-dummies.html
function sleep(ms) { 
 return new Promise(resolve => setTimeout(resolve, ms)); 
}
// вызывайте его внутри async функции так:
async function delayedGreeting() { 
 console.log("Hello"); 
 await sleep(2000); 
 console.log("World!"); 
 await sleep(2000); 
 console.log("Goodbye!"); 
}
//В обычных функциях так:
sleep(2000).then(() => { console.log("World!"); });
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@McBernar
Ну так поместите второй лог внутрь таймаута.

Но вы, наверное, хотите другое. Гуглите async await.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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