世界上最伟大的投资就是投资自己的教育
-
查了下好像是 NodeJS 版本的问题,你 node 是什么版本,我用的是 16.0.0 可以运行。
-
可以的,基本上都在用 version 4 吧,新项目也可以考虑 version 5
具体区别可以到 Ant Design V5 看看,不过 version 5 的正式版好像还没放出来 -
冲~冲~冲!
-
尴尬,下一集就是讲这个的😂
-
登录失败时,默认会显示
message
和notification
的提示关于右上角
notification
的提示,是因为返回的 json 数据中包含{ ... success: boolean }
当
success = false
的时候就会触发notification
的提示
大致原因:// @/app.tsx const errorHandler = (error: ResponseError) => { const { response, data } = error; if (response && response.status) { const errorText = codeMessage[response.status] || response.statusText; const { status, url } = response; notification.error({ message: `请求错误 ${status}: ${url}`, description: errorText, }); } // response 为 undefined 触发 response if (!response) { notification.error({ description: '您的网络发生异常,无法连接服务器', message: '网络异常', }); } // 目前我更改了判断条件(当error中确实没有response data时进行提示) /* if (data === null || data === undefined || Object.keys(data).length === 0) { notification.error({ description: '您的网络发生异常,无法连接服务器', message: '网络异常', }); } */ throw error; };
// @/.umi/plugin-request/request.ts requestMethodInstance.use(async (ctx, next) => { await next(); const { req, res } = ctx; // @ts-ignore if (req.options?.skipErrorHandler) { return; } const { options } = req; const { getResponse } = options; const resData = getResponse ? res.data : res; const errorInfo = errorAdaptor(resData, ctx); if (errorInfo.success === false) { // 抛出错误到 errorHandler 中处理 const error: RequestError = new Error(errorInfo.errorMessage); error.name = 'BizError'; error.data = resData; error.info = errorInfo; throw error; } });
-
靠谱的随风 你是中国的希望啊
© 汕尾市求知科技有限公司 | Rails365 Gitlab | 知乎 | b 站 | csdn
粤公网安备 44152102000088号 | 粤ICP备19038915号
Top