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

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

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


нужно сделать так, чтобы seTimeout ждал (НЕ выполняя код ПОСЛЕ него), пока код внутри него не выполнится (после 1сек) и выводился результат 1, 2
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 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.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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