'Axios interceptors runs more than once

I have this interceptors that logs the user out if unauthorized. I do, however, get more than a 401 response, and the interceptors does therefore run for as many times as the responses I get (4). Is there a way to make it run only for the first one?

This is my code:

api.interceptors.response.use(
(response) => response,
(err) => {
  if (err.response.status === 401 && isLoggedIn) {
    api
      .delete("auth/sign_out")
      .then((resp) => {
        clearLocalStorage();
      })
      .catch((err) => {
        clearLocalStorage();
      });
  } else {
    return Promise.reject(err);
  }
  return err;
}

);



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source