0

プロジェクションをサービス呼び出しに対してグローバルにするために、$http 呼び出しの結果を別のモデルに投影したいと考えています。

つまり、http/api 呼び出しから取得した結果は、必要な正確なモデルを使用していません。

サービスクラス内でこのプロジェクションを行うにはどうすればよいですか?

angular.module('openart')
.factory('BritishLibraryApi', ['$http', function ($http) {
    return {
        getPage:function(page){
            return $http({method:"GET",url:'/api/british-library/'+page})
                .success(function(data){
                    //would like to do something here like
                    return data.results.map(function(i){

                        //project i into another model here
                        return {

                        };
                    });
                });
        }
    };
}]);
4

1 に答える 1

0

独自のプロミスを作成し、マッピングされたデータに解決する場合

angular.module('openart')
.factory('BritishLibraryApi', ['$http','$q', function ($http,$q) {
    return {
        getPage:function(page){
            var defer=$q.defer();
            $http({method:"GET",url:'/api/british-library/'+page})
                .success(function(data){
                    //would like to do something here like
                    defer.resolve(data.results.map(function(i){

                        //project i into another model here
                        return {
                        };
                    }));
                });
            return defer.promise;
        }
    };
}]);
于 2013-12-19T15:38:04.710 に答える