@hattie
Для отправки HTTP запросов с задержкой и получения ответа в виде Promise можно использовать функцию setTimeout() для задержки перед отправкой запроса. Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
// Импортируем axios и настройки запроса const axios = require('axios'); const makeDelayedHttpRequest = (url, delay) => { return new Promise((resolve, reject) => { // Создаем функцию-обертку для искусственной задержки const delayedRequest = () => { axios.get(url) .then(response => { resolve(response); }) .catch(error => { reject(error); }); }; // Используем setTimeout для задержки перед вызовом функции setTimeout(delayedRequest, delay); }); }; // Пример использования: makeDelayedHttpRequest('https://example.com', 2000) .then(response => { console.log(response.data); }) .catch(error => { console.error(error); }); |
В этом примере функция makeDelayedHttpRequest
принимает URL и задержку в миллисекундах. Она возвращает Promise, который резолвится после указанной задержки с объектом response
от Axios в случае успешного запроса или реджектится с ошибкой в случае неудачи.
Обратите внимание, что этот пример использует Node.js и CommonJS для импорта модуля axios
. Если вы разрабатываете для браузера или используете синтаксис ES6 модулей, вам может потребоваться настроить соответствующие инструменты.