You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

admin-on-rest中如何在showNotification显示捕获的错误信息?

在Admin-on-Rest中使用showNotification显示错误对象信息

嘿,我来帮你搞定这个问题!你遇到的核心问题很明确:admin-on-rest的showNotification方法第一个参数需要接收字符串类型的内容,而你直接传入了错误对象e,它没办法自动把对象转换成用户能看懂的文本,所以通知才没法正常工作。

下面给你几种实用的解决方案,你可以根据自己的错误对象结构来选择:

1. 显示标准错误消息(最常用)

JavaScript原生的Error对象都自带message属性,直接提取这个属性就能展示基础的错误提示:

.catch(e => { 
  console.error('catch', e); 
  showNotification(`发生错误:${e.message}`, 'warning'); 
});

2. 适配Admin-on-Rest的API错误

如果你的错误来自后端API响应(比如admin-on-rest封装的请求错误),错误信息可能会放在payload或response属性里,这时候可以做个兼容处理:

.catch(e => { 
  console.error('catch', e); 
  // 优先取API返回的自定义错误消息,没有则用原生message,最后兜底
  const errorText = e.payload?.message || e.message || '未知错误';
  showNotification(`请求失败:${errorText}`, 'warning'); 
});

3. 显示详细错误信息(调试用)

要是你需要更细节的错误内容(比如调试阶段),可以提取堆栈信息,但记得截断避免通知过长:

.catch(e => { 
  console.error('catch', e); 
  // 拼接消息和部分堆栈信息,截断防止内容溢出
  const detailMsg = `${e.message}\n${e.stack?.slice(0, 150)}...`;
  showNotification(detailMsg, 'warning'); 
});

小提醒

调试的时候一定要先通过console.error(e)查看错误对象的具体结构,因为不同场景下的错误对象属性可能不一样(比如是前端抛出的原生Error,还是axios返回的请求错误),根据实际结构提取对应的文本就好啦!

内容的提问来源于stack exchange,提问作者JimmyWj4EHiM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:46:56