Не нужно делать что-то очень большое. просто отключил кнопку, пока работа не была закончена. Вот код ниже
function go_save(){
console.log('saving...');
$('button').removeAttr('disabled');
}
const debouncedFunction = debounce(go_save, 1000);
$('button').on('click', function() {
console.log('clicked');
$('button').attr('disabled','disabled');
debouncedFunction();
});
function debounce(func, wait, immediate) {
var timeout;
return function() {
var context = this, args = arguments;
var later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) func.apply(context, args);
};
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>CLICK</button>
Надеюсь, это поможет вам. если у вас есть какие-либо вопросы, вы можете, как и я, в любое время.
спасибо.
Сагар Кумар, разработчик программного обеспечения