Как предотвратить одновременное выполнение нескольких функций .изменение без использования тайм-аута

#javascript

Вопрос:

Я все еще изучаю JS со временем, поэтому, пожалуйста, простите мой язык «js» и объяснения. У меня есть система, которая получает массив от контроллера и передает его в view.html используя функцию .change. Для загрузки информации требуется время в зависимости от данных, загружаемых в контроллер, поэтому для загрузки данных требуется разное время.

Затем данные загружаются через iframe в представление с помощью приведенного ниже кода. Я заметил, что когда пользователь вводит данные для загрузки дополнительных данных, в то время как предыдущие данные все еще загружаются, он также начинает запускать функцию, не дожидаясь завершения первого. Я хочу запретить запуск следующей функции до тех пор, пока не будет завершена первая.

 <input id='Input' type="submit" name="message" ask="" >                                      
<input id='Input' class='Input' type="submit" name="message" ask="<iframe class='responsive-iframe' onLoad='IframeLoad();' ></iframe>" answer="true">

<input id='Input1' type="submit" name="message" ask="" >
                                        
<input id='Input1' class='Input1' type="submit" name="message" ask="<iframe class='responsive-iframe' onLoad='IframeLoad();' ></iframe>" answer="true">

<input id='Input2' type="submit" name="message" ask="" >
                                        
<input id='Input2' class='Input2' type="submit" name="message" ask="<iframe class='responsive-iframe' onLoad='IframeLoad();' ></iframe>" answer="true">


$(document).ready(function(){
var arr = [];//From controller, can be variable in size

$('#Input').change(function(){  
    arr.push($(this).val());
    var arrayJSON = JSON.stringify(arr);
    localStorage.setItem("TheData",arrayJSON);     
});

$('#Input1').change(function(){  
    arr.push($(this).val());
    var arrayJSON = JSON.stringify(arr);
    localStorage.setItem("TheData",arrayJSON);       
});    


$('#Input2').change(function(){  
    arr.push($(this).val());
    var arrayJSON = JSON.stringify(arr);
    //sessionStorage.setItem("TheData",arrayJSON);
    localStorage.setItem("TheData",arrayJSON);  
});
 

});