mirror of
https://gitee.com/WeBank/fes.js.git
synced 2024-12-02 19:58:18 +08:00
feat: 统一request 所有错误处理
This commit is contained in:
parent
d952aa9008
commit
6f4028bb7d
@ -65,8 +65,8 @@ export const request = {
|
||||
404(error) {
|
||||
|
||||
},
|
||||
commonAbnormalCodeHandler(response) {
|
||||
// 非 0,且非 11199(前面已经配置过 11199) code 其他异常code处理逻辑
|
||||
default(error) {
|
||||
// 异常统一处理
|
||||
}
|
||||
},
|
||||
// 其他 axios 配置
|
||||
|
@ -2,10 +2,22 @@ import { isObject } from './helpers';
|
||||
|
||||
function handleAbnormalCode(errorHandler = {}, code, response) {
|
||||
if (errorHandler[code]) {
|
||||
errorHandler[code](response);
|
||||
} else if (errorHandler.commonAbnormalCodeHandler) {
|
||||
errorHandler[code](response.data);
|
||||
} else if (errorHandler.default) {
|
||||
// 处理其他异常
|
||||
errorHandler.commonAbnormalCodeHandler(response);
|
||||
errorHandler.default({
|
||||
response
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function handleRequestError(errorHandler = {}, error) {
|
||||
if (error.type) {
|
||||
errorHandler[error.type] && errorHandler[error.type](error);
|
||||
} else if (error.response) {
|
||||
errorHandler[error.response.status] && errorHandler[error.response.status](error);
|
||||
} else if (errorHandler.default) {
|
||||
errorHandler.default(error);
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,11 +34,7 @@ export default async (ctx, next) => {
|
||||
ctx.error = response; // code 不为零进入 reject
|
||||
}
|
||||
} else if (error) {
|
||||
if (error.type) {
|
||||
errorHandler[error.type] && errorHandler[error.type](error);
|
||||
} else if (error.response) {
|
||||
errorHandler[error.response.status] && errorHandler[error.response.status](error);
|
||||
}
|
||||
handleRequestError(errorHandler, error);
|
||||
}
|
||||
|
||||
await next();
|
||||
|
@ -1,10 +1,13 @@
|
||||
export const request = {
|
||||
errorHandler: {
|
||||
111(responseData) {
|
||||
console.log(responseData);
|
||||
},
|
||||
404() {
|
||||
console.log('to 404 page');
|
||||
},
|
||||
commonAbnormalCodeHandler(res) {
|
||||
console.log(res.data.code);
|
||||
default(error) {
|
||||
console.log(error.response.data);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user