I am currently working on a angular project, and I am kind of new to it.
I do not understand, why is .then() function not waiting for the promises?
I think it have to do something with that I only have one $q.defer() inside my getAllStats() function? When I try to console.log("testing: ", data); (on the bottom) it only logs out an empty array. Could someone help me please?  
This is my code:
function getAllStats(dataArray, nameOfFile) {
    var defer = $q.defer();
    var promises = [];
    for (index in dataArray) {
        if (dataArray[index].indexOf('test') > -1 ) {
            getStats(nameOfFile).then(function (data) {
                 promises.push();
            });
        }
    }
    function last() {
        defer.resolve(promises);
    }
    $q.all(promises).then(last);
    return defer.promise;
};
function getStats(nameOfFile) {
    var defer = $q.defer();
    $http.get(nameOfFile).success(function (data) {
        defer.resolve(data);
    });
        return defer.promise;
};
getAllStats('test.txt').then(function(data) {
        console.log("testing: ", data);
});
 
     
     
     
     
    