как добавить функцию ожидания или паузы через settimeout в javascript

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
22 декабря 2024

В JavaScript функция setTimeout позволяет задерживать выполнение определенной функции или кода на заданный промежуток времени (в миллисекундах). Она принимает два аргумента: функцию, которую нужно выполнить, и время ожидания в миллисекундах.

console.log("Начало");

setTimeout(() => {
    console.log("Это сообщение появится через 2 секунды");
}, 2000); // 2000 миллисекунд = 2 секунды

console.log("Конец");

Иногда может возникнуть необходимость отменить выполнение функции, запланированной с помощью setTimeout. Для этого используется clearTimeout.

const timerId = setTimeout(() => {
    console.log("Это сообщение никогда не появится");
}, 2000);

// Отменяем таймер
clearTimeout(timerId);

В этом примере, ввиду вызова clearTimeout(timerId), функция с сообщением не будет выполнена.

setTimeout можно также использовать с асинхронными функциями для создания "паузы" перед выполнением других операций. Вот пример:

function pauseAndRun() {
    console.log("Начало");

    setTimeout(() => {
        console.log("Пауза завершена, продолжаем");
    }, 3000); // Пауза 3 секунды
}

pauseAndRun();

Если вы хотите создать функцию ожидания, которая будет работать с async/await, вы можете обернуть setTimeout в Promise:

function wait(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

async function run() {
    console.log("Ожидание 2 секунды...");
    await wait(2000); // Ждем 2 секунды
    console.log("2 секунды прошли");
}

run();
0 0

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Программирование

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

Тест-драйв

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

Верстка

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Бесплатные курсы

Бесплатные курсы по тестированию, дата-аналитике, верстке, программированию на Python, Java, PHP и JavaScript.

Фреймворки

Базы данных