Skip to content

Instantly share code, notes, and snippets.

@monkeymars
Forked from fgilio/axios-catch-error.js
Created October 16, 2019 10:49
Show Gist options
  • Select an option

  • Save monkeymars/e2d8cdb4c76adc40d21a0a918fca6ee0 to your computer and use it in GitHub Desktop.

Select an option

Save monkeymars/e2d8cdb4c76adc40d21a0a918fca6ee0 to your computer and use it in GitHub Desktop.

Revisions

  1. @fgilio fgilio revised this gist Jun 12, 2019. 1 changed file with 52 additions and 12 deletions.
    64 changes: 52 additions & 12 deletions axios-catch-error.js
    Original file line number Diff line number Diff line change
    @@ -1,22 +1,62 @@
    axios.put(this.apiBaseEndpoint + '/' + id, input)
    /*
    * Handling Errors using async/await
    * Has to be used inside an async function
    */
    try {
    const response = await axios.get('https://your.site/api/v1/bla/ble/bli');
    // Success 🎉
    console.log(response);
    } catch (error) {
    // Error 😨
    if (error.response) {
    /*
    * The request was made and the server responded with a
    * status code that falls out of the range of 2xx
    */
    console.log(error.response.data);
    console.log(error.response.status);
    console.log(error.response.headers);
    } else if (error.request) {
    /*
    * The request was made but no response was received, `error.request`
    * is an instance of XMLHttpRequest in the browser and an instance
    * of http.ClientRequest in Node.js
    */
    console.log(error.request);
    } else {
    // Something happened in setting up the request and triggered an Error
    console.log('Error', error.message);
    }
    console.log(error);
    }

    /*
    * Handling Errors using promises
    */
    axios.get('https://your.site/api/v1/bla/ble/bli');
    .then((response) => {
    // Success
    // Success 🎉
    console.log(response);
    })
    .catch((error) => {
    // Error
    // Error 😨
    if (error.response) {
    // The request was made and the server responded with a status code
    // that falls out of the range of 2xx
    // console.log(error.response.data);
    // console.log(error.response.status);
    // console.log(error.response.headers);
    /*
    * The request was made and the server responded with a
    * status code that falls out of the range of 2xx
    */
    console.log(error.response.data);
    console.log(error.response.status);
    console.log(error.response.headers);
    } else if (error.request) {
    // The request was made but no response was received
    // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
    // http.ClientRequest in node.js
    /*
    * The request was made but no response was received, `error.request`
    * is an instance of XMLHttpRequest in the browser and an instance
    * of http.ClientRequest in Node.js
    */
    console.log(error.request);
    } else {
    // Something happened in setting up the request that triggered an Error
    // Something happened in setting up the request and triggered an Error
    console.log('Error', error.message);
    }
    console.log(error.config);
  2. @fgilio fgilio created this gist Apr 16, 2017.
    23 changes: 23 additions & 0 deletions axios-catch-error.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,23 @@
    axios.put(this.apiBaseEndpoint + '/' + id, input)
    .then((response) => {
    // Success
    })
    .catch((error) => {
    // Error
    if (error.response) {
    // The request was made and the server responded with a status code
    // that falls out of the range of 2xx
    // console.log(error.response.data);
    // console.log(error.response.status);
    // console.log(error.response.headers);
    } else if (error.request) {
    // The request was made but no response was received
    // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
    // http.ClientRequest in node.js
    console.log(error.request);
    } else {
    // Something happened in setting up the request that triggered an Error
    console.log('Error', error.message);
    }
    console.log(error.config);
    });