简体   繁体   中英

What's difference between Promise.reject(error) and return error in Axios?

I have a general query about Axios and Promises. Maybe someone can help me clear this concept.

Basic Interceptor of Axios includes:

// Add a response interceptor
axios.interceptors.response.use(function (response) {
    // Any status code that lie within the range of 2xx cause this function to trigger
    // Do something with response data
    return response;
  }, function (error) {
    // Any status codes that falls outside the range of 2xx cause this function to trigger
    // Do something with response error
    return Promise.reject(error);
  });

My question is what's the difference between returning error as

Project.reject(error);

and as

return error;

This response and error goes to the Request 'then' amd 'catch' blocks respectively I believe. But what's the difference if we use Promise.resolve and Promise.reject?

I just tried (it's that easy ) and the difference is that by returning a rejected promise ( return Promise.reject(error) ), you tell axios that the response has an error condition and that the upstream code should be notified about it ( axios(…).catch(…) will trigger).

When returning just the error ( return error ), you're telling axios to basically ignore the error and the upstream code will not know about it ( axios(…).then(…) will trigger).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM