我一直在处理在react-native / redux应用程序中包含错误的对象数组。
我有一个handleResponse函数,看起来像这样:
function handleResponse (response) {
let status = JSON.stringify(response.data.Status)
let res = JSON.stringify(response)
if (Number(status) === 200) {
return res
} else {
throw new SubmissionError('Something happened')
}
}
但是不是将纯文本作为参数传递给SubmissionError函数 - 我想以某种方式从对象数组中取出错误。
包含错误消息的对象数组如下所示:
{
ErrorMessages: [
{ ErrorMessage: 'foo' },
{ ErrorMessage: 'bar' }
]
}
例如,我如何抛出 foo 和 bar 错误?
答案 0 :(得分:1)
你不能一次throw
两件事,除非你把它们包装在Promise中或做其他技巧,我只是将错误连接在一起并做一个throw
:< / p>
function handleResponse (res) {
if (Number(res.data.Status) === 200) {
return JSON.stringify(res)
}
const errors = res.ErrorMessages.map(e => e.ErrorMessage).join(', ')
throw new SubmissionError(`Some errors occurred: ${errors}.`)
}