[英]How can I use async/await instead of a promise (.then)
我正在尝试在项目中使用async / await而不是.then,但是这使我出错
这是我的代码:
export const registerUser = (userData, history) => async dispatch => {
axios
.post('/api/users/register', userData)
await (res => history.push('/login'))
.catch(err => dispatch({
type: GET_ERRORS,
payload: err.response.data
})
);
};
这是我回来的错误
未处理的拒绝(TypeError):(中间值).catch不是函数
await
不是您用then()
替换的函数。 它是一个关键字,您将其放在可作为promise解析的表达式之前。 使用它时,还可以用常规try / catch替换catch()
方法。
export const registerUser = (userData, history) => async dispatch => {
try {
await axios.post('/api/users/register', userData);
history.push('/login');
} catch (err) {
dispatch({
type: GET_ERRORS,
payload: err.response.data
})
);
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.