JavaScript: методы создания задержек в программах

В JavaScript обычно не рекомендуется создавать синхронные паузы в вашей программе, поскольку это может привести к ухудшению пользовательского опыта и зависанию приложений. JavaScript по своей сути является однопоточным и лучше всего работает с асинхронным и управляемым событиями подходом.

Однако, если вам действительно нужно создать паузу в вашей программе, вы можете рассмотреть несколько способов:

  1. Использование setTimeout: вы можете использовать функцию setTimeout для задержки выполнения определенного блока кода. Например:
console.log("Before pause");
setTimeout(() => {
  console.log("After pause");
}, 2000);

Это приостановит выполнение на 2000 миллисекунд (2 секунды) перед выполнением кода внутри функции обратного вызова setTimeout.

  1. Использование обещаний и async/await. Вы можете создать функцию, которая возвращает обещание, и использовать async/await, чтобы приостановить выполнение до тех пор, пока обещание не будет разрешено. Например:
function delay(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}
async function myFunction() {
  console.log("Before pause");
  await delay(2000);
  console.log("After pause");
}
myFunction();

Эффект будет аналогичен предыдущему примеру, но с более современным синтаксисом.

Важно отметить, что эти методы не являются настоящими синхронными паузами. Они просто задерживают выполнение кода, но не блокируют основной поток.