Начну с конца:
3) можно сделать функцию helper, типа check status
приведу пример кода из старого проекта (не async / await, но не суть)
export function checkStatus(response) {
let json = response.json() // http://stackoverflow.com/a/29475662/1916578
if (response.status >= 200 && response.status < 300) {
return json
} else {
return json.then(window.Promise.reject.bind(window.Promise))
}
}
export function httpGet(url) {
return fetch(url, {
headers: buildHeaders(),
})
.then(checkStatus)
}
и уже везде пользоваться httpGet для гетов, например. Конечно, можно расширить пример как вам нужно с необходимыми диспатчами и тд тп.
2) проверять необходимо всегда, чтобы пользователь понимал что происходит:
- вероятно у вас отпал инет
- на сервере ошибка, попробуйте еще раз
Думаю, стоит это начинать делать в catch у каждого запроса
1) если API не ваше - то делайте проверки, какие посчитаете нужными
Если API ваше, то проверки тоже необходимо делать, но в основном это нужно для обработки ошибок от сервера/сети.