Время ожидания ответа от сервера с использованием Axios

Я хочу сделать вставку новой строки с помощью команды вроде:

axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
   .then(function (response) {
    console.log(response);
   })
   .catch(function (error) {
    console.log(error);
   });

Мне нужно, чтобы ответ содержал новый идентификатор для вновь созданной пользовательской строки, содержащей информацию о пользователе Фреде Флинтстоуне. Однако, поскольку это БД, моему сценарию может потребоваться больше времени для этого. Как я могу контролировать время ожидания ответа от сервера? Другими словами,
как я могу сказать команде javascript Axios подождать некоторое количество секунд, прежде чем она вызовет сообщение об ошибке из-за «нет ответа от сервера». Это возможно?


person Jose Cabrera Zuniga    schedule 12.08.2017    source источник
comment
Я имел в виду, как я могу сказать команде javascript Axios подождать некоторое количество секунд, прежде чем она вызовет сообщение об ошибке из-за отсутствия ответа от сервера?   -  person Jose Cabrera Zuniga    schedule 12.08.2017
comment
вы можете создать собственную функцию тайм-аута, которая не будет ждать мс, которую вы хотите   -  person Tushar Kotlapure    schedule 12.08.2017


Ответы (1)


axios получил свойство timeout, где вы можете установить количество миллисекунд до истечения времени ожидания запроса.

axios({
  method: 'post',
  url: '/user',
  timeout: 8000, // Let's say you want to wait at least 8 seconds
  data: {
    firstName: 'Fred',
    lastName: 'Flintstone'
  }
})
.then(function (response) {
      console.log(response);
})
.catch(function (error) {
    console.log(error);
});
person QoP    schedule 12.08.2017