在做一个fly tracker 的作业,用了leaflet API和geojson。用fetch获取了飞行位置的数据。
作业要求每隔7秒刷re-fetch,请问这个怎么实现啊?告诉我思路或者提示我用什么方法就行。谢谢~
我能想到的就是用Leaflet里的layer.remove();但是如何过7秒再次addTo(map)呢?逻辑上有点乱。。。
不能使用 setInterval(function(),7000),因为每次fetch后加载data的时间不确定也不相同(加载时间很慢,就是说:页面上出现飞机的时间要比较久,一般大于7秒).用setInterval的话,很可能第一次加载还没有完成7秒就过去了,又再次fetch就会出现错误。
需要一种方法,在第n次
加载完成后,过7秒,清理掉所有数据,再进行第n+1次fetch,然后加载进HTML。
最终效果就是看到飞机在一点点移动。