@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' запрос на второй адрес

Как получить ожидаемый результат? В чем моя ошибка?
  • Вопрос задан
  • 187 просмотров
Решения вопроса 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
разберитесь с промисами. Не быстренько пробежитесь а пару часов поэксперементируйте и прочитайте документацию.
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
В данном случае, надо использовать $q.all(promises).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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