2017-01-03 4 views
1

У меня есть следующий код, который вызывает вызов API и на основе ответа HTTP, он отправляет определенные действия в мой редукционный редуктор.Обработка неудачного вызова API в fetch

Проблема заключается в том, что если вызов API завершается с ошибкой, он отображается на консоли, даже если часть кода, обрабатывающего неудачные вызовы, выполняется нормально. Как я могу это предотвратить? Я уже обрабатываю неудачные вызовы API, поэтому ничего не должно появляться в консоли.

export const someApiCall =() => { 

    return (dispatch) => fetch('/api/somefunction', fetchOptionsGet()) 
     .then((response) => { 
      if(response.ok) { 
       // Success. Dispatch some actions 
      } else { 
       // Failed call. Dispatch some other actions 
      } 
     }) 
} 

ответ

0

В этом нет ничего плохого, не волнуйтесь. В браузере по-прежнему отображаются HTTP-ошибки в консоли, хотя вы имеете дело с этими ошибками в своей http-библиотеке.

0

Как сказал @Dherik, это функциональность браузеров по умолчанию.

Но если вас беспокоят ошибки HTTP, отображаемые в консоли, вы можете обработать это, чтобы не отображаться в консоли, внеся изменения в свой API.

Итак, переопределите поток ошибок, чтобы вернуть код состояния 2XX с кодом ошибки и сообщением в теле ответа и обработать его так же, как сейчас.

Смежные вопросы