Both options look good to me. I usually avoid to use direct method calls in my Angular expressions though as change listeners basically have to reevaluate that method call way too often to make sure the returned value has not changed. If you use a $scope variable instead, then that issue is gone plus you would get the additional benefit of two-way data binding.
What I would do:
- Init a $scope.credits variable with your service call when your controller is initialized
- Use the $scope.credits variable in HTML instead of method calls to your service