请求成功正常返回数据,请求失败返回的response 后端返回有数据,但控制台打印出来是undefined
检查后发现是umi拦截器的处理问题
之前只设置处理了成功的情况返回对应的标志:response.rst === 1, 而请求失败的情况response.rst === 0 也应该返回对应结果,这里未做处理。
做了请求失败的处理后,结果就正常返回了
import { RequestConfig } from 'umi';
export const request: RequestConfig = {
timeout: 1000,
errorConfig: {
adaptor: (response) => {
if (response && response.type === 'application/zip')
return { ...response, success: true, errorMessage: false };
const success =
response && response.rst
? response.rst === 1
: response.rst === 0
? response.rst === 0
: false;
const errorMessage = response && response.msg ? response.msg : false;
return {
...response,
success,
errorMessage: errorMessage || '操作失败',
};
},
},
};