如何在 useEffect 中管理两个函数

How to manage two functions inside useEffect

我正在使用 useEffect 来获取数据。在我的反应使用效果中,我在同一个 useEffect 中有一个函数 profileApprove(false) 和一个 refresh()。我不希望在 profileApprove(false) 完成之前开始刷新。目前我有一个 setTimeOut 来为我处理对 profileApprove 的等待。我通过 setTimeOut 得到了我想要的,但不确定如何正确处理它。

export default function Profile() {
    const {
        profileApproved
    } = profileContext();
    function refresh() {
        dispatch({ type: "FECTH_PROFILE", payload: { loading: true } });
    }
    React.useEffect(() => {
        profileApproved(false);
        setTimeout(() => {
            refresh();
        }, 1000);
    }, []);

您的 profileApprove 方法 return 完成后是否有承诺?如果是这样,请在调用 refresh

之前等待它
export default function Profile() {
    const {
        profileApproved
    } = profileContext();
    function refresh() {
        dispatch({ type: "FECTH_PROFILE", payload: { loading: true } });
    }
    React.useEffect(() => {
        profileApproved(false).then(refresh)
    }, []);