Angular For Each循环与post请求

Angular For Each loop with post request

本文关键字:post 请求 循环 For Each Angular      更新时间:2023-09-26

我试图用angular.forEach循环发出一个post请求,然后用$q.all()解决一个promise…

我就是这样设置的:

angular.module('dataApp')
  .factory('UserService', function () {
    var User = $resource(ENV.API_URL + '/user/:email', {
      email: '@email'
    }, {
      add: {
        method: 'POST',
        url: ENV.API_URL + '/user/:email/medication/:medicationId',
        params: {
          email: '@email',
          dataId: '@medicationId'
        }
      }
    });
    User.addData = function (dataList) {
      var promiseArray = [];
      angular.forEach(dataList, function (data) {
        User.add({
          email: currentUser.email,
          dataId: data._id
        }).$promise.then(function success(response) {
          promiseArray.push(response.$promise);
        }, function error(response) {
          promiseArray.push(response.$promise);
          promiseArray.push(response.$promise);
        });
      });
      return $q.all(promiseArray);
    };
  });

当我试图将promise推送到我的promiseArray中时,我的数组中充满了空引号(例如console.log(promiseArray)===>[","])。我是不是错过了什么?

为什么使用add?这种情况下有save

无论如何,试试这个:

promiseArray.push(User.add({
                      email: currentUser.email,
                      dataId: data._id
                 }).$promise);