How to use restangular with promise pattern in angular service

angularjs, asp.net-web-api, restangular

Solution

You need to resolve promise...

There are two ways to do it...

1) Using `$object`

just add `.$object` to end of promise so once request is done it resolves promise...

scope.countries = countrySvc.countries().$object;

2) Using `then`

if you need to do some stuff after promise is resolved pick this option, once request is done callback function in `then` will be fired

scope.countries = countrySvc.countries().then(function (response){
    // DO SOMETHING IF YOU NEED BEFORE SET OBJECT
    scope.countries = response;
    // DO SOMETHING IF YOU NEED AFTER SET OBJECT
});

Problem

I have a service with rest angular with following structure ``` function countrySvc(restangular) { restangular.addResponseInterceptor(function (data, operation, what, url, response, deferred) { if (operation === 'getList') { var newResponse = response.data; return newResponse; } return response; }); var baseCountry = restangular.all('country'); this.countries = function() { baseCountry.getList(); }; } ``` also a controller ``` function countryCtrl(scope, countrySvc) { scope.countries = countrySvc.countries(); } ``` but when i access the countries from controller, the result is empty with a successful request with data, my question is how a can extract the data from response with proper promise pattern, ie( i need array of countries when i access scope.countries)

Original source