Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
24 Мар 2023
1 мин
1588

Аналог функции sleep() в JavaScript

Одной из распространенных проблем, с которой сталкиваются начинающие программисты на JavaScript, является отсутствие встроенной функции sleep(). Во многих

Одной из распространенных проблем, с которой сталкиваются начинающие программисты на JavaScript, является отсутствие встроенной функции sleep(). Во многих языках программирования, таких как Python или C++, функция sleep() используется для приостановки работы программы на определенный промежуток времени.

В JavaScript нет встроенной функции sleep(), но есть несколько способов имитировать ее работу. Один из них — использование функции setTimeout().

function sleep(millis) {
    return new Promise(resolve => setTimeout(resolve, millis));
}

async function demo() {
    console.log('Taking a break...');
    await sleep(2000);
    console.log('Two seconds later');
}

demo();

В этом примере функция sleep() реализована с использованием setTimeout() и Promise. Промис возвращается сразу же, но переходит в состояние «выполнено» только после того, как проходит указанное количество миллисекунд.

С помощью ключевого слова await, которое можно использовать только в асинхронной функции (в этом примере это функция demo()), выполнение функции приостанавливается до тех пор, пока промис не будет выполнен. Это позволяет симулировать поведение функции sleep().

Таким образом, несмотря на отсутствие встроенной функции sleep() в JavaScript, с помощью функции setTimeout() и концепции промисов можно добиться аналогичного поведения.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий