我需要执行注销,然后在它发生后调度其他操作。但等待不等待和调度重置所有注销前。我应该怎么做?
const logOut = createAsyncThunk(
"auth/logout",
async (_, { dispatch, rejectWithValue }) => {
try {
await axios.get(`/api/users/logout`);
token.unset();
dispatch(resetTransactions());
dispatch(resetStats());
} catch (err) {
return rejectWithValue(err.response.data);
}
},
);
1条答案
按热度按时间xpcnnkqh1#
在〈try ...中,我们有一个异步代码和一个同步代码,所以在等待之后,我希望在extraReducer中改变一些状态,然后完成这些分派。但是我不明白extraReducer只有在〈try ..中的所有代码都完成之后才会启动。所以我从〈try ..中删除了分派(reset ..),并将其放在LogOut函数调用之后。