как добавить функцию ожидания или паузы через settimeout в javascript
Ответы
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