[英]Javascript fire the last event
我正在编写一个 Web 应用程序,但我不知道如何继续我正在尝试使用 Javascript 做的事情。
我有一个功能,当我放大地图或移动地图时会触发该功能。 我尽量避免这个函数做它的东西,直到它过了一段时间(例如 2 秒)。 好的,我可以使用setInterval
方法来实现它。
但是我想要但我不知道该怎么做是...如果我缩放 3 次,它们之间的时间非常接近,我只想处理最后一次缩放,而不是前两个缩放。 我的意思是,必须取消前 2 个函数调用,或者类似的东西。
我怎么能那样做?
我所拥有的示例(伪代码):
function doStuff() {
setInterval(function({
// do some stuff here...
}, 2000);
}
myMap.on('dragend', doStuff); // If I move inside the map
myMap.on('zoomend', doStuff); // If I do zoom on the map
我会尝试在每次开始间隔时在全局变量中设置捕获 intervalID; 然后在触发事件时检查变量是否已设置,如果已设置,则使用 clearInterval 函数在开始下一个间隔之前取消前一个间隔。
像这样的东西:
var intervalID = 0;
function doStuff(){
if(intervalID != 0){
window.clearInterval(intervalID);
}
intervalID = setInterval(function({
// do some stuff here...
intervalID = 0; // try reseting the intevalID on completion, not sure if here
}, 2000);
// Your stuff
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/clearInterval
您可以使用object.addEventListener('load', function())
-function。
对象加载后,其中的函数将触发。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.