Ax ios - Перехватчики: предотвратить дальнейшую обработку исходным вызывающим абонентом - PullRequest
0 голосов
/ 29 мая 2020

У меня есть успешный перехватчик ответов для моего экземпляра Ax ios. При определенных обстоятельствах я в основном хочу предотвратить дальнейшее выполнение .then() и .catch().

axiosExtended.interceptors.response.use(response => successHandler(response), error => errorHandler(error))

function successHandler(response) {
    const relativeRequestUrl = response.config.url;
    const relativeResponseUrl = trim(response.request.responseURL.replace(response.config.baseURL, ''), '/');

    if (relativeRequestUrl !== relativeResponseUrl) {
        // dont return anything to original caller. No then. No catch.
        router.push(relativeResponseUrl)
    }

    // get handled by original caller...
}

1 Ответ

0 голосов
/ 08 июня 2020

Спасибо @ felixmo sh:

instance.interceptors.response.use((response) => {
  if (someCondition(response) {
    return new Promise(() => {});
  }
  return response;
});
...