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

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

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


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

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

Похожие вопросы
OfferCase Москва
от 400 000 ₽
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
Future Москва
от 50 000 до 70 000 ₽