Могу ли я принудительно вызвать API-вызов, если он занял много времени с (ожидающим) статусом? - PullRequest
0 голосов
/ 24 декабря 2018

Здесь я создаю запрос на публикацию и хочу вызвать состояние запроса и заставить его завершиться сбоем, если это заняло определенный период времени с (ожидающим) статусом, возможно ли это вообще?

    fetch('http://localhost:5000/api', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        message: this.state.input,
      })
    })

Я также ищу способ использования axios, а не только Fetch API.

1 Ответ

0 голосов
/ 24 декабря 2018

http протокол поддерживает тайм-аут, вы можете использовать следующую конфигурацию в axios для настройки тайм-аута конфигурации запроса

axios({
  method: "post",
  url: 'http://example.com/api',
  timeout: 1000 * 5, // Wait for 5 seconds
  headers: {
    "Content-Type": "application/json"
  },
  data: {
    id: 1234
  }
})
  .then(response => {
    const serverResponse = response.data;
  })
  .catch(error => {
//    catch block with be executed if response take more than 5 seconds
    console.log(error);
});
...