gazes12
@gazes12

Как в throttle получить информацию о выполняемой в нем функции?

Доброе утро!

function addCommentFn(){
    $.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.error){
                return result.error;
            }
        }
    });
}


const throttle = (func, ms) =>{
    let lastTime;
    let difference;
    let interval;
    return function(){
        difference = $.now() - lastTime;

        if(errors){  /*Как я могу получить errors из функции addCommentFn?*/
            difference = ms;
        }

        if(!lastTime || difference >= ms){
            func.apply();
            lastTime = $.now();
        }
    }
}


Я хочу в throttle проверить, вернулись ли ошибки в ответ ajax запроса. Буду очень рад за помощь!
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
hahenty
@hahenty
('•')
Нужно в addCommentFn пробросить функцию для сброса таймера в throttle-обёртке.
Или внутри обёртки ловить ошибку из промиса.

я бы делал первым вариантом.
/**/
  func.apply( this, [ () => lastTime = $.now() ] );
  /*****/

function addCommentFn(dethrot){
  /****/
  if(result.error){
    dethrot();
  }
  /****/
}

Но, учитывая прошлые вопросы, предвижу ещё серию вопросов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы