首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >返回promise或缓存数据的工厂用户服务?

返回promise或缓存数据的工厂用户服务?
EN

Stack Overflow用户
提问于 2013-07-17 04:25:42
回答 1查看 1K关注 0票数 1

我在AngualrJS中有一个用户服务,它当前返回一个promise:

代码语言:javascript
复制
        getData: function() {
            return Restangular.one('users', id).get({single: true});
        },

我想要添加返回缓存用户的功能,但我不认为我可以这样做,因为一个返回一个承诺,另一个返回实际数据:

代码语言:javascript
复制
        getData: function() {
           if !data
            return Restangular.one('users', id).get({single: true});
           else
            return data
        },

处理这个问题的最好方法是什么?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-17 04:34:09

您应该按如下所示修改代码以始终返回promise

代码语言:javascript
复制
 getData: function() {
          var deferred = $q.defer()
           if !data
            Restangular.one('users', id).get({single: true}).then(function(data){
               deferred.resolve(data);
             });
           else
            deferred.resolve(data);
            return deferred.promise;
        },
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17686307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档