Необходимо переопределить время по умолчанию из Ax ios после запроса - PullRequest
0 голосов
/ 30 января 2020

Когда я делаю почтовый запрос с топором ios со стороны клиента (React JS) на сервер (пружина), время ответа сервера составляет более 2 минут. Таким образом, клиент не ждет, чтобы получить ответ, когда он занимает больше 2 минут. Поэтому я попытался переопределить время ожидания по умолчанию с помощью приведенного ниже фрагмента кода. Но это не работает. Пожалуйста, помогите мне решить проблему.

const httpClient = Axios.create();
httpClient.defaults.timeout = 240000;

return httpClient.post(url, data).then(
 res => res
).catch(err => err);

Ответы [ 2 ]

1 голос
/ 30 января 2020

При создании экземпляра ax ios, который будет применяться ко всем вызовам API

const httpClient = Axios.create({ timeout: 2 * 60 * 1000 });

Вы можете передать параметр timeout в вызов API

httpClient.post(url, data, { timeout: 2 * 60 * 1000 })
0 голосов
/ 30 января 2020

Если вы посмотрите на документы (Это еще одна топика c, но показывает пример для тайм-аута).

Существует два способа установки timeout.

// Create an instance using the config defaults provided by the library
// At this point the timeout config value is `0` as is the default for the library
const instance = axios.create();

// Override timeout default for the library
// Now all requests using this instance will wait 2.5 seconds before timing out
instance.defaults.timeout = 2500;

// Override timeout for this request as it's known to take a long time
instance.get('/longRequest', {
  timeout: 5000
});

Вы можете переопределить значение по умолчанию с помощью instance.defaults.timeout или передать его в качестве опции для вашего вызова.

Вы также можете увидеть другой пример в документации .

Если он не работает, возможно, у вас устаревшая версия ax ios или вы что-то упустили.

...