Wie zu erkennen, ein 401 mit axios und stoppen Sie die Fehler-Konsole

Ich bin versucht, axios Aufruf einer API-Daten zurück.

Ich habe den folgenden code der funktioniert

axios.get('http://api/courses')
  .catch(function (error) {
    if (error.response) {
      console.log(error.response.status);
    } else {
      console.log('Error', error.message);
    }
  })
  .then(response => {
    console.log(response.data)
  });

Dies funktioniert gut, die API gibt einen 200 und Daten, so dass in der Konsole bekomme ich die Daten zurückgegeben.

Allerdings funktioniert dies nicht

axios.get('http://api/courses')
  .catch(function (error) {
    if (error.response) {
      console.log(error.response.status);
    } else {
      console.log('Error', error.message);
    }
  })
  .then(response => {
    console.log(response.data)
  });

Auf dem oben genannten Aufruf, bekomme ich eine 401-Rückkehr aus der API, ich möchte in der Lage sein, zu erkennen, und tun Sie etwas (wo ich bin derzeit dabei eine Konsole.log). Aber in der Konsole bekomme ich folgenden Fehler:

GET http://api/courses 401 (Unauthorized)
(anonymous) @ spread.js:25
e.exports @ spread.js:25
e.exports @ spread.js:25
Promise.then (async)
r.request @ spread.js:25
r.(anonymous function) @ spread.js:25
(anonymous) @ index.js:20
(anonymous) @ (index):49


(index):58 Uncaught (in promise) TypeError: Cannot read property 'data' of undefined
at axios.get.catch.then.response ((index):58)
at <anonymous>

Gibt es eine Möglichkeit, zu erfassen, ein 401? Wie es scheint gängige Praxis von API ' s, die verlangen, dass auth, aber ich kann nicht scheinen, um es herauszufinden.
Dank

InformationsquelleAutor davidjh | 2018-02-12
Schreibe einen Kommentar