Задать вопрос
@undeadter

Как правильно выполнить цикл?

Есть массив с адресами:
var urls = [
    'http://127.0.0.1:8000/users/api/add/username/',
    'http://127.0.0.1:8000/users/api/add/general/'
]


Есть такой код, находящийся в app.factory() моего AngularJS модуля:
urls.forEach(function (url) {
     $http({
          method: 'OPTIONS',
          url: url
     }).success(function (data) {
          var data =  option_add(data, options)
          $http({
               method: 'POST',
               url: url,
               data: data
          }).success(function (data) {
               console.log(data);
          })
     })
})


Ожидаемый результат:
1. Отправить 'OPTIONS' запрос на первый адрес
2. Отправить 'POST' запрос на первый адрес
3. Отправить 'OPTIONS' запрос на второй адрес
4. Отправить 'POST' запрос на второй адрес

Реальный результат:
1. Отправляется 'OPTIONS' запрос на первый адрес
2. Отправляется 'OPTIONS' запрос на второй адрес
2. Отправляется 'POST' запрос на первый адрес
4. Отправляется 'POST' запрос на второй адрес

Как получить ожидаемый результат? В чем моя ошибка?
  • Вопрос задан
  • 189 просмотров
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
разберитесь с промисами. Не быстренько пробежитесь а пару часов поэксперементируйте и прочитайте документацию.
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
В данном случае, надо использовать $q.all(promises).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы