Как получить доступ к данным ответа службы, если я возвращаю массив пользовательских карт с обещанием в качестве объекта?

Вот мой код:

function myobject(name, anotherArray){
 this.name = name; this.anotherArray = anotherArray;
}

//$scope.myObjects is an array of myObject


function pMap(name, promise){
    this.name= name;
    this.promise = promise;
};

var getAllPromises = function(){
    var promises = [];
    angular.forEach($scope.myobjects, function(myobject) {
        urlPath = <someurl>+myobject.name;
        var promise = $http({
            url   : urlPath,
            method: 'GET'
        });
        promises.push(new pMap(myobject.name, promise));
    });
    return $q.all(promises);
};

Теперь, когда я принимаю каждое обещание следующим образом в отдельной функции, используя.then, я не уверен, как получить доступ к json, возвращенному службой выше?

 getAllPromises.then(function(pData){
                    angular.forEach(pData, function(pMap){
                        var name = pMap.name;
                        var responseArray = promiseMap.<?> --> how do I access the json returned by the service here?
<I need to assign $scope.myobjects.anotherArray to data returned by the promise but this has to be done using the name attribute of each myobject>

                    });
                });

Есть идеи, как это сделать? Новый, чтобы обещать образец и angularjs в целом

1 ответ

Решение

Вы можете просто сделать это:

var promises;
angular.forEach($scope.myobjects, function(myobject) {
    var promise = $http({
        url   : urlPath,
        method: 'GET'
    });
    promises.push(promise);
});
$q.all(promises).then(function(resolvedPromises) {
  var firstPushedPromise = resolvedPromises[0];
  //var xPushedPromise = resolvedPromises[x];
}

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

Я не уверен, почему ты зациклился $scope.myobjects если вы не собираетесь использовать myobject хоть.

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