Здравствуйте!
/*Добавление комментария*/
const throttle = (func, ms) =>{
let isThrottle = false;
count = 5000;
return function(){
if(isThrottle){
return;
}
func.apply();
isThrottle = true;
let cooldown = setInterval(() =>{
if(isThrottle == true){
count -= 1000;
recalls__reminder.addClass('visible');
recalls__reminder.html(`${count / 1000} сек.`);
if(count == 0){
count = 5000;
clearInterval(cooldown);
}
}
}, 1000);
setTimeout(() =>{
recalls_results.html(`<div class="recalls__result recalls__result--succ">Отправляйте!</div>`);
recalls__reminder.removeClass('visible');
isThrottle = false;
}, ms);
}
}
const startThrottle = throttle(addCommentFn, 5000);
function addCommentFn(){
const create_nameValue = create_name.val();
const create_surnameValue = create_surname.val();
const create_recallValue = create_recall.val();
$.ajax({
url: '../php/add_recall.php',
type: 'POST',
dataType: 'json',
data: {
create_nameValue: create_nameValue,
create_surnameValue: create_surnameValue,
create_recallValue: create_recallValue
},
success: function(result){
if(result.newRecall){
$('.recalls').append(`
<div class="recall">
<div class="recall__people people-recall">
<p class="people-recall__fio">${result.newRecall[0].name}</p>
<div class="people-recall__status"></div>
<div class="recall__buttons">
<button class="button-recall__change">Изменить</button>
<button class="button-recall__delete" id="${result.newRecall[0].id}">Удалить</button>
</div>
</div>
<div class="recall__text">${result.newRecall[0].recall}</div>
</div>
`);
}else if(result.error){
recalls_results.html(`<div class="recalls__result recalls__result--error">${result.error}</div>`);
}
}
});
}
sendButton.click((e) =>{
e.preventDefault();
startThrottle();
});
Я хочу чтобы этот код ниже не выполнялся если в success вернулся ответ result.error.
isThrottle = true;
let cooldown = setInterval(() =>{
if(isThrottle == true){
count -= 1000;
recalls__reminder.addClass('visible');
recalls__reminder.html(`${count / 1000} сек.`);
if(count == 0){
count = 5000;
clearInterval(cooldown);
}
}
}, 1000);
setTimeout(() =>{
recalls_results.html(`<div class="recalls__result recalls__result--succ">Отправляйте!</div>`);
recalls__reminder.removeClass('visible');
isThrottle = false;
}, ms);