【发布时间】:2017-06-07 21:11:29
【问题描述】:
export const register = (user, callback, errorback) => async dispatch => {
try{
let response = await axios.post(`${PINGUIN_ROOT_URL}/users/create`, user)
if (response.data.auth_token){
auth_token = response.data.auth_token
dispatch({ type: REGISTER_SUCCESS, payload: auth_token})
callback()
} else {
let error = response
throw error
}
}catch(error){
dispatch({type: REGISTER_FAIL})
errorback()
}
您好,我正在根据我们所学的内容构建一个登录寄存器。它可以工作,但由于某种原因,错误验证不会回来。我构建了一个rails api,当我使用邮递员时看到了验证错误,但是当我尝试使用redux恢复错误时,上面的注册函数到达“let response = ..”行并立即进入catch(错误)线。我不知道如何回传我在使用 post man 时看到的实际验证错误,因为被捕获的错误如下:
Error: Request failed with status code 422
at createError (createError.js:16)
at settle (settle.js:18)
at XMLHttpRequest.handleLoad (xhr.js:77)
at XMLHttpRequest.dispatchEvent (event-target.js:172)
at XMLHttpRequest.setReadyState (XMLHttpRequest.js:538)
at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:381)
at XMLHttpRequest.js:485
at RCTDeviceEventEmitter.emit (EventEmitter.js:181)
at MessageQueue.__callFunction (MessageQueue.js:250)
at MessageQueue.js:101
现在,代码在实际登录用户时仍然有效,但是它实际上并没有给我所需的验证错误。我看到验证错误在邮递员中以 json 形式返回,但我在实践中看不到它们。请帮忙?
【问题讨论】:
标签: ruby-on-rails asynchronous react-native axios