我的Axios实例有一个成功的响应拦截器。在某些情况下,我基本上想防止进一步执行.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...
}
答案 0 :(得分:0)
感谢@felixmosh:
instance.interceptors.response.use((response) => {
if (someCondition(response) {
return new Promise(() => {});
}
return response;
});