Web services 在angularJS中存储从web服务获取的信息的干净方法是什么?

Web services 在angularJS中存储从web服务获取的信息的干净方法是什么?,web-services,angularjs,Web Services,Angularjs,我有一个前端Angular应用程序,它通过RESTAPI从服务器端获取信息。 当我提出请求时,我只想做一次,因此,将数据保存在前端应用程序中 我找到了几个例子,但不是: 控制器->中的逻辑不是一个好的实践 变量存储在根范围->通常不是一个好的做法 我被告知要使用服务来完成这项工作。 例如,据我所知,我应该有一个获取用户配置文件的服务,还有一个在发出GET请求后保留这些信息的服务(“配置文件”服务) 如果我的呼叫获取请求服务是这样的,有人能告诉我怎么做吗: .factory('userProm

我有一个前端Angular应用程序,它通过RESTAPI从服务器端获取信息。 当我提出请求时,我只想做一次,因此,将数据保存在前端应用程序中

我找到了几个例子,但不是:

  • 控制器->中的逻辑不是一个好的实践
  • 变量存储在根范围->通常不是一个好的做法
我被告知要使用服务来完成这项工作。 例如,据我所知,我应该有一个获取用户配置文件的服务,还有一个在发出GET请求后保留这些信息的服务(“配置文件”服务)

如果我的呼叫获取请求服务是这样的,有人能告诉我怎么做吗:

.factory('userPromise', ['$http', '$q', 'baseUrl',
                          function ($http, $q, baseUrl) {
    return {
        getUser: function(usn, uid, key) {
            return $http.get(baseUrl + 'business_infos/' + parseInt(uid) + '/'
                             + '?format=json&username=' + usn + '&api_key=' + key).then(function(response) {
                return response.data;
            });
        }
    };
}])
请注意,我不想只缓存信息。我想根据我得到的信息创建一个可以包含其他信息的用户配置文件

可能是这样的:

{
    profile:  {
        firstname: "Thierry",
        lastname: "Chatel"
    },
    hasRole: function (role) {
        return ...
    }
}

谢谢大家!

有cacheFactory的文档,您可以收集数据并获取它。

$cacheFactory

服务有一个配置,说明是否缓存响应。如果设置为
true
,框架级缓存将可用。如果需要,可以在配置中指定。同样适用于
$resource
服务。谢谢,但我不想只缓存信息。我想从我得到的信息中创建一个可以包含其他信息的用户配置文件。我更新了我的问题,使之更加具体。谢谢你的帮助。对不起,我的问题不够具体。我更新了,谢谢。