我正在从一个组件调用一个动作:
this.props.createWebsite(this.state)
这会调用一个动作并传入某个状态。行动如下:
export const createWebsite = data => {
return (dispatch, getState) => {
return axios.post(
API.path + 'website/',
{
// some data
}
)
.then(response => {
})
.catch(error => {
})
}
}
我想处理调用它的组件中的响应和错误,而不是在操作本身。我怎样才能做到这一点?我试过了:
this.props.createWebsite(this.state).then(response => { /**/ }).catch(error => { /**/ })
此有效,但它不会发现错误。
答案 0 :(得分:1)
您需要从createWebsite
声明中删除捕获。
它处理错误并且不传播它。所以错误就丢失了。 得到它:
export const createWebsite = data => {
return (dispatch, getState) => {
return axios.post(
API.path + 'website/',
{
// some data
}
)
.then(response => {
return response;
})
}
}
export const createWebsite = data => {
return (dispatch, getState) => {
return axios.post(
API.path + 'website/',
{
// some data
}
)
.then(response => {
return response;
})
.catch(error => {
// Do something
throw error;
})
}
}