Я хочу инициировать действие (например, сообщение «Обновление сохранено!») Всякий раз, когда происходит повторное событие (нажатие кнопки «Сохранить»), но не запускать его дважды в течение заданного периода времени.
В дальнейшем я хочу, чтобы excecuteFunction () запускался не чаще, чем раз в 3 секунды, но если setInterval очищается через 4,5 секунды, я бы все же хотел бы, чтобы он снова запускался через 6 секунд.
var minimumTime = 3000; // minimum ms between events
function myTimedEvent() {
if ( lessThanMinimumTime() )
// loop through again
else {
executeFunction();
}
}
window.setInterval(myTimedEvent, 500);
executeFunction()
может создать временную метку при выполнении, а lessThanMinimumTime()
может сравнить эту временную метку с текущим временем, а затем установить подинтервал, который затем очищается на executeFunction()
, если он находится внутри минимального временного диапазона.
Должен быть лучший способ.