Javascript - код выполняется один раз внутри цикла с вызовами AJAX

В моем коде javascript я получаю значение, которое сообщает мне, сколько раз мне нужно выполнить фрагмент кода, но он выполняется точно в срок.

Например:

var qtt = 3;
for (var i = 1; i <= qtt; i++) {
    console.info(i);
    $.get( "/set-serie", function(seriedata)
    {
        console.info('test ' + i);
    });
}
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

Результат:

1
2
3
test 4

Итак, это просто выполняет код один раз вместо 3. И я не понимаю, почему он поставил 4 в конце.

К моменту завершения $.get() он находится в конце цикла, и значение переменной было увеличено.

zero298 14.05.2018 19:29

Это также запах кода, что вызов ajax является одним и тем же вызовом для каждой итерации.

Taplar 14.05.2018 19:36

Это дубликат ни одного из этих вопросов. @ zero298 превратите ваш комментарий в ответ!

user241244 14.05.2018 19:41

Слева от 3 должно быть поле с test 4, означающее, что test 4 регистрировался как 3 раз.

ibrahim mahrir 14.05.2018 19:44

@D_N ваш комментарий сбивает с толку. Вы утверждаете, что его комментарий - это ответ, и что это не дубликат ... но дубликат - это точный сценарий.

Kevin B 14.05.2018 19:49

@KevinB Нет, речь идет о цикле, основанном на простом цикле и прослушивателе событий на странице, и не включает запрос AJAX, который создает проблему для OP. А ранее были три отдельные статьи, связанные как дубликаты, ни одна из которых не была одинаковой, что вызвало мой общий комментарий.

user241244 14.05.2018 19:53

@D_N Это абсолютно дубликат. Это может быть комбинация дубликатов многих из перечисленных дубликатов, но это все равно дубликат. Проблема возникает из-за того, что счетчик итераций не записывается в контекст, на который не влияет цикл for.

zero298 14.05.2018 19:56

@ zero298 Если это комбинация нескольких страниц, которые не дублируются, это не дубликат.

user241244 14.05.2018 19:58

Один дубликат это адекватно покрывает. Нам не нужно несколько.

Kevin B 14.05.2018 20:01

Мне кажется, что OP не знает, как работает консоль, видя тест, напечатанный только один раз, и поэтому думаю, что функция запускалась только один раз, предполагая, что @ibrahimmahrir верна. Хотя OP может извлечь выгоду из прочтения вопроса «закрыть как повторяющийся», я не согласен, что на самом деле это дубликат.

Musa 14.05.2018 20:03

Это просто делает его X / Y, но не дублирует.

Kevin B 14.05.2018 20:04

@KevinB Если вы это уже знаете, это имеет смысл в качестве ответа. Если вы этого не сделаете, это не так. Не очень полезно.

user241244 14.05.2018 20:05

Вы могли рассматривать вопрос как дубликат, но только очень абстрактно. Кроме того, помимо проблемы с «дубликатом», OP спрашивает, почему i равно 4, а он ожидал 3. Это не объясняется в «дубликате».

Hans Dash 14.05.2018 20:09

Проголосуйте.

Kevin B 14.05.2018 20:10

@D_N, значит, он слишком локализован.

zero298 14.05.2018 20:18
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
15
75
0

Другие вопросы по теме