我如何/在哪里可以定期调度动作?使用递归setTimeout
进行倒计时。
取自示例,类似于以下内容:
// Can also be async if you return a function
export function incrementAsync() {
return dispatch => {
(function _r() {
setTimeout(() => {
// Yay! Can invoke sync or async actions with `dispatch`
dispatch(increment());
_r();
}, 1000);
})();
};
}
那么这是一个好主意,还是有更好的方法来解决这个问题,比如使用中间件或从其他地方创建操作?
我更喜欢这个的通用版本,我可以通过商店控制计时器的启动/停止。
我已经设置了一个示例实现,请查看https://gist.github.com/eguneys/7023a114558b92fdd25e