Как создать задержку для fetch() в Node.js

Содержимое статьи:


cfd66238

Fetch() - это метод, который извлекает данные из URL-адреса. Иногда необходимо создать задержку перед извлечением данных, чтобы позволить целевому серверу подготовить ответ.

Методы создания задержки

1. Использование промисов

async function fetchWithDelay() {
await new Promise((resolve) => setTimeout(resolve, delay));
const res = await fetch(url);
const data = await res.text();
return data;
}

2. Использование обратного вызова setTimeout()

fetch(url, (err, res) => {
if (err) throw err;
setTimeout(() => {
const data = res.text();
// ...
}, delay);
});

Пример

В примере с переводом Google можно использовать задержку, чтобы позволить переводчику подготовить данные:

const delay = 5000; // 5-секундная задержка
fetch(`https://translate.google.com/?sl=ru&tl=de&text=привет`)
.then(res => res.text())
.then(data => {
setTimeout(() => {
fs.writeFile("google.html", data, function(error) {
if (error) {
return console.log(error);
}
console.log("Файл успешно записан");
});
}, delay);
})
.catch(error => {
console.log(error);
});


АПТЕЧКА ДЛЯ ПОЛЬЗОВАТЕЛЕЙ
Бесплатное обучение нейросетям
Бесплатный виджет обратной связи для Django
Чат рулетка на русском
Чат с Аней: ночные переписки
Чатрулетка: чат с новой личностью
Диагностика ходовой: Регулярное обслуживание шин
Фототехника с HDR
Гайд по созданию мемов без фотошопа: без лишних слов
Генератор паролей с параметрами
Игры на развитие памяти у детей
Крупнейшие автозаводы России
Лучшие шутки про кофе
Напитки чая и кофе
Немецкие авто: FORD, MERSEDES, VW, IVECO
Оборудование для видеонаблюдения IP
Оптимизация динамического контента GEO
Прямое видео общение
VDSina для новичков: простое использование
Весь экран отображает время


← Назад на главную страницу