Как сделать задержку между асинхронными запросами в javascript?

Пользователь

от ciara , в категории: JavaScript , 6 месяцев назад

Как сделать задержку между асинхронными запросами в javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от aaron_armstrong , 6 месяцев назад

@ciara 

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

  1. С использованием setTimeout:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
function delayAsyncRequest() {
  return new Promise(resolve => {
    setTimeout(() => {
      // выполнение асинхронного запроса
      resolve();
    }, 1000); // указываем задержку в миллисекундах (в данном примере - 1 секунда)
  });
}

// вызываем функцию с задержкой
delayAsyncRequest().then(() => {
  // код, который выполнится после задержки
});


  1. С использованием await и Promise:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
function delayAsyncRequest() {
  return new Promise(resolve => {
    setTimeout(resolve, 1000); // указываем задержку в миллисекундах (в данном примере - 1 секунда)
  });
}

async function makeDelayedRequests() {
  // вызываем функцию с задержкой
  await delayAsyncRequest();
  // выполнение первого асинхронного запроса

  await delayAsyncRequest();
  // выполнение второго асинхронного запроса
}

// вызываем функцию, которая содержит задержку между асинхронными запросами
makeDelayedRequests().then(() => {
  // код, который выполнится после выполнения всех асинхронных запросов
});


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