【发布时间】:2020-06-01 18:13:29
【问题描述】:
我正在使用 redux-thunk 来管理异步函数,并且我想在动作创建器中使用 setInterval,这是我的代码:
export const startLobbyPolling = () => dispatch => {
const pollTimer = setInterval(() => {
dispatch(fetchLobby);
}, POLL_TIME);
dispatch({ type: START_LOBBY_POLLING, payload: pollTimer });
};
fetchLobby 是另一个简单地获取请求并存储其数据的动作创建者。
但令人惊讶的是它不起作用,因为它只在 redux 调试器工具中显示 START_LOBBY_POLLING 操作,之后什么也没有发生。如果知道如何将 setInterval 与 redux 一起使用,我将不胜感激。
【问题讨论】:
-
POLL_TIME的价值是什么? -
它是一个常数值 5000
-
fetchLobby函数中有什么内容? -
export const fetchLobby = () => async dispatch => { const response = await tortuga.get('/lobby/my-lobby'); const data = response.data; dispatch({ type: FETCH_LOBBY, payload: data }); }; -
tortuga 也是 axios 实例,其 baseURL 没有其他配置
标签: javascript reactjs redux setinterval redux-thunk