JSFiddle - React, Tailwind, and code Playground

by Mark Coleman

HTML

<div ng-app>
    <div ng-controller="MyCtrl"></div>
</div>

JavaScript

function MyCtrl($scope, $q, $http) {

    $scope.albumsList = [{
        id: 1,
        name: "11"
    }, {
        id: 2,
        name: "22"
    }];

    $scope.getAlbum = function () {
        return $http.post("/echo/json", {
            json: {
                id: 1
            }
        }).success(function (d) {
            $scope.albums.push(d);
        });
    };

    $scope.getAlbum();
    $scope.albums = [];
    $scope.getAlbums = function (user, callback) {
        var deferred = $q.defer();
        var promise = deferred.promise;
        var prom = [];
        $scope.albumsList.forEach(function (obj, i) {
            prom.push($scope.getAlbum());
        });
        $q.all(prom
        ).then(function () {
            callback();
        });
        deferred.resolve();
    };
    $scope.getAlbums('guy123', function () {
        alert($scope.albums.length);
    });
}