【发布时间】:2021-10-09 16:22:03
【问题描述】:
我有一个调用 API 的函数,我希望它返回一个 Promise,以便我知道它何时完成执行
这是我调用函数的组件
import { login } from "../../redux/apiCalls";
...
const handleLogin = async (e) => {
e.preventDefault();
login(email, password, dispatch);
history.push('/admin');
}
这是函数本身(我在这里使用redux)
export const login = async (email, password, dispatch) => {
try {
dispatch(loginStart());
const res = await axios.post('myserver...', {
email: email,
password: password,
});
dispatch(loginSuccess(res.data));
} catch (err) {
dispatch(loginError());
}
}
【问题讨论】:
-
handleLogin是异步的。您可以等待登录功能。await login并将其包装在 try/catch 中 -
const loginResp = await login(email, password, dispatch);
标签: javascript reactjs api promise