Форма становится медленной через много проверок - PullRequest
0 голосов
/ 26 марта 2020

У нас есть приложение, с помощью которого мы сканируем штрих-коды от перевозчиков и сохраняем их в базе данных.

Номера отправлений имеют различную длину. Мы проверяем символы с помощью Javascript и отправляем форму, как только определенное количество символов будет распознано. Всего должно быть распознано 10 различных штрих-кодов.

Проблема заключается в том, что при сканировании каждый символ вставляется очень быстро один за другим, что приводит к большому количеству запросов.

Если многие партии отправлений сканируются один за другим, они всегда становятся медленными, и до повторной загрузки формы требуется 5-10 секунд.

Есть ли у вас представление о том, как можно улучшить процесс?

$(function() {
  var $id = $('#input_field');
  $id.keyup(function(e) {
    if ($id.val().length == 9 || $id.val().length == 12 || $id.val().length == 13 || $id.val().length == 14 || $id.val().length == 18 || $id.val().length == 19 || $id.val().length == 20 || $id.val().length == 26 || $id.val().length == 27 || $id.val().length == 28) {
      $(this.form).submit();
    }
  });
});

1 Ответ

0 голосов
/ 26 марта 2020

Такое ощущение, что здесь может быть полезна функция debounce , где вы можете указать некоторый период времени между тем, когда указанная функция может быть вызвана (таким образом, учитывая время между «нажатиями клавиш» перед отправкой).

...