我正在使用admin-on-rest(1.3.2)并尝试跳过在Promise拒绝上调用AUTH_LOGOUT操作的默认行为。我想放弃我的行为。
我在他们的Github问题上发现了一个问题:https://github.com/marmelab/admin-on-rest/issues/894,但是没有关于这里实现的太多信息。
在浏览器控制台中,我看到执行的传奇在这里:https://github.com/marmelab/admin-on-rest/blob/v1.3.2/src/sideEffect/saga/crudResponse.js#L92-L97
我刚刚意识到为什么会发生AUTH_LOGOUT。我的AUTH_ERROR检查:
if (type === AUTH_ERROR) {
const { status } = params
if (status === 401) {
localStorage.removeItem('admin')
return Promise.reject()
}
}
没有检查其他状态代码而不是401并且没有返回Promise.resolve,这导致返回Promise.reject('Unknown method')。