在Redux中如何检查post请求是否成功?



我在Redux中有Action。在那里我请求后端做一些事情。我需要检查我所做的Post请求是否成功。

export const changeEmployee = (id, status) => {
return async (dispatch, getState) => {
try {
dispatch(changeEmployeeRequest());
await adminAPI.changeEmployee(id, status);
dispatch(updateUserWithRolesSuccess(usersWithRoles))
} catch (error) {
dispatch(updateUserWithRolesFailure());
}
}
}

不幸的是,我没有从这个请求中收到任何数据。所以我不能检查它是否有效。但我很好奇有什么方法可以得到请求状态。我可以在Chrome的网络选项卡中看到这个状态。

这是我的API,在单独的API页面。

export const changeEmployee = (id, status) => API.post(`${UPDATE_EMPLOYEE}`, {id, status});

您应该能够将响应存储为函数中的值,然后检查该

的状态
const res = await adminAPI.changeEmployee(id, status)
if(res.status === 200) {...}

如上所述,看起来您正在使用axios,它应该抛出一个错误,并且将在catch块中处理。如果您对不同的错误有不同的结果,您可以根据错误状态代码添加逻辑,类似于:

catch (err) {
switch (err.response.status) {
case 401:
...
break
case 400:
...
break
default:
...
break
}
}

最新更新