Search code examples
angularjsangular-resource

How can I find out how many records are in the list after AngularJS $resource query()


I'm struggling with something that I think should be pretty simple.

I want to see how many items are returned from a query() but using length isn't working for me.

This my code

    getItems = function () {

        // retrieve the list
        theList = Users.query();
        theList.$promise.then(function (res) {
            console.log("success");
        })
        .catch(function (req) {
            console.log("error");
        })
        .finally(function () {

        });

        return theList;
    }

$scope.users = getItems();
console.log($scope.users.length);

This is my $resource:

.factory('Users', function ($resource) {
    return $resource('https://example.com/:id', { id: '@id' }, {
        update: { method: 'PUT' }
    });
})

The console shows 0 even if there are items in the list.

Any idea what I'm doing wrong?


Solution

  • Try

    getItems = function () {
    
            // retrieve the list
            theList = Users.query();
    
            theList.$promise.then(function (res) {
                console.log("success");
                $scope.users = res;
                console.log($scope.users.length);
            })
            .catch(function (req) {
                console.log("error");
            });
    
        }
    
    getItems();