【发布时间】:2020-01-18 01:03:34
【问题描述】:
我有一个包含许多 API 请求的前端应用程序,但是处理错误响应很痛苦。
有时我需要遍历许多嵌套对象,例如:error.response.data.email,有时是 error.response.data.address.province[0]。
我无法预测所有错误,而编写手动“解析器”对我来说似乎是一个肮脏的额外解决方案:
const errorsObject = err.response.data
let errors = ''
Object.keys(errorsObject).map(key => {
if (key === 'address') {
Object.keys(errorsObject.address).map(
key => (errors += `${key} : ${errorsObject.address[key]}\n`)
)
} else {
errors += `${key} : ${errorsObject[key]}\n`
}
return undefined
})
yield toast.error(errors)
而且它仍然没有涵盖所有内容。
是否有任何前端解析器?如果没有,我们的后端是 Python(Django),也许后端有一个包?理想情况下,我希望看到一组平面对象{title, message}。
【问题讨论】:
标签: javascript api error-handling