Ich versuche, ein Schema zu erstellen, um Anfragen von einer API-Middleware abzufangen und zu behandeln, aber aus irgendeinem Grund kann ich keine JSON-Antworten von meinem richtig behandeln API-Endpunkt Das folgende Snippet funktioniert einwandfrei für Serverantworten, die in JSON formatiert sind, aber sagen, ein Benutzer hat ein ungültiges Token, der Server gibt eine einfache Unauthorized Access-Antwort zurück, die ich nicht verarbeiten kann, obwohl ich einen Fehlerrückruf an die json() - Zusage liefere . Die Antwortnachricht für den nicht autorisierten Zugriff geht im folgenden Schema verloren.Behandlung von Nicht-JSON-Antwort mit einem Body.json() Versprechen
const callAPI =() => { fetch('http://127.0.0.1:5000/auth/', {
method: 'GET',
headers: {
'credentials': 'include',
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Basic bXlKaGJHY2lPaUpJVXpJMU5pSXNJbVY0Y0NJNk1UUTVPRE15TVRNeU5pd2lhV0YwSWpveE5EazRNak0wT1RJMmZRLmV5SnBaQ0k2TVgwLllFdWdKNF9YM0NlWlcyR2l0SGtOZGdTNkpsRDhyRE9vZ2lkNGVvaVhiMEU6'
}
});
};
return callAPI().then(res => {
return res.json().then(responseJSON => {
if(responseJSON.status === 200){
return dispatch({
type: type[1],
data: responseJSON,
message: success
});
} else if(responseJSON.status === 401) {
return dispatch({
type: type[2],
message: responseJSON.message
});
}
return Promise.resolve(json);
}, (err) => {
console.log(err.toString(), ' an error occured');
});
}, err => {
console.log('An error occured. Please try again.');
});