首页 > 解决方案 > d3.timer update 分派多次

问题描述

我更改了一个滑块来解析带有开始和结束日期的 JSON 数据,以创建 d3.js 播放可视化。

我的 REPL: https ://svelte.dev/repl/69ede1e0f5a74f0c81a1213ce844b9f1(slider.svelte -> 第 145 行函数:update())

发生的情况是,一旦一个值四舍五入到一个小时,它就会调度它。但是 6-7 值四舍五入到小时,因此它被发送 6-7 次。

如果小时已经分派,有没有办法返回函数?我正在使用 Svelte

问候, 佩皮恩

标签: javascriptd3.jstimersvelte

解决方案


我通过添加一个名为“lastDispatch”的变量解决了我的问题,我将它设置为 startDate 值。

在我的更新功能中,我将调度功能包装在此检查中:

 if(lastDispatch.getHours() < roundMinutes(new Date(target)).getHours()) 

在调度之前我再次覆盖变量

lastDispatch = roundMinutes(new Date(target));

推荐阅读