skillbox banner 468x60skillbox banner 728x90skillbox banner 930x180smsc banner 468x60smsc banner 728x90smsc banner 930x180jivo banner 468x60jivo banner 728x90jivo banner 930x180

Как сделать паузу при выполнении скрипта в JavaScript

Вы можете просто использовать метод setTimeout(), чтобы сделать паузу, прежде чем продолжить выполнение кода в JavaScript. Время задержки выполнения скрипта указывается в миллисекундах (тысячных долях секунды).

Давайте посмотрим следующий пример, чтобы понять, как это работает:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JavaScript Wait Before Continuing</title>
<script>
function doStuff(){
    // Код для запуска перед паузой
    var hintDiv = document.getElementById("hint");
    hintDiv.insertAdjacentHTML('afterbegin', '<p>An alert will be shown in 3 seconds.</p>');
 
    setTimeout(function(){
        // Код для запуска после паузы
        alert("This is really slow!");
    }, 3000);
 
    // Это также будет выполняться перед предупреждением
    hintDiv.insertAdjacentHTML('beforeend', '<p>Alert is coming. Please do not go!</p>');
}
</script>
</head>
<body>
    <div id="hint"></div>
    <button type="button" onclick="doStuff()">Run Script</button>
</body>
</html>

Как вы заметили в предыдущем примере, JS-код после метода setTimeout() продолжает выполнение. Однако, если вам нужен настоящий «сон», когда все дальнейшее выполнение кода JavaScript должно прекратиться, вы можете использовать конструктор Promise. Давайте посмотрим пример, как это работает:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JavaScript Sleep Between Execution</title>
<script>
async function doStuff(){
    // Код для запуска перед паузой
    var hintDiv = document.getElementById("hint");
    hintDiv.insertAdjacentHTML('afterbegin', '<p>An alert will be shown in 3 seconds.</p>');
 
    // Пауза в течение 3 секунд
    await new Promise(r => setTimeout(r, 3000));
 
    // Код для запуска после паузы
    alert("This is really slow!");
    hintDiv.insertAdjacentHTML('beforeend', '<p>You have seen the alert. Goodbye!</p>');
}
</script>
</head>
<body>
    <div id="hint"></div>
    <button type="button" onclick="doStuff()">Run Script</button>
</body>
</html>

Оператор await используется для ожидания. Его можно использовать только внутри функции async.

flexbe banner 480x320flexbe banner 728x90flexbe banner 120x600smsc banner 480x320smsc banner 728x90smsc banner 120x600etxt banner 480x320etxt banner 728x90etxt banner 120x600

Читайте также

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Похожие посты

How to increase and decrease image size using JavaScript

Answer: Use the JavaScript width и height property You can use either width or height JavaScript property to proportionally increase и decrease the dimension of an image like zoom-in и zoom-out feature. Let’s take a look at the following example to understи how it basically works: Пример <!DOCTYPE html> <html lang=»en»> <head> <meta charset=»utf-8″> <title>JavaScript…
Подробнее

Как перебрать массив в JavaScript

Самый простой способ перебрать массив в JavaScript — использовать цикл for. В следующем примере показано, как вывести все значения массива в JavaScript по очереди. В качестве альтернативы вы можете использовать недавно представленный цикл for-of в ES6 для итерации по массиву, например: См. Руководство по ES6-функциям JavaScript, чтобы узнать о новых функциях, представленных в ES6.
Подробнее

Как создавать многострочные строки в JavaScript

Вы можете использовать конкатенацию строк (с помощью оператора +) для создания многострочной строки. В следующем примере показано, как динамически составлять некоторый контент HTML в JavaScript, используя конкатенацию строк, и печатать его на веб-странице. Есть даже лучший способ сделать это. Начиная с ES6, вы можете очень легко использовать шаблонные литералы для создания многострочных строк. В шаблонных…
Подробнее