Вы можете просто использовать метод 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.

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

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

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, вы можете очень легко использовать шаблонные литералы для создания многострочных строк. В шаблонных…

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

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

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

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