Fetch() - это метод, который извлекает данные из URL-адреса. Иногда необходимо создать задержку перед извлечением данных, чтобы позволить целевому серверу подготовить ответ.
async function fetchWithDelay() {
await new Promise((resolve) => setTimeout(resolve, delay));
const res = await fetch(url);
const data = await res.text();
return data;
}
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);
});