AngularJS从$ resource回调返回

时间:2015-08-13 09:24:14

标签: ajax angularjs

我的工厂有以下功能

getSource:function(){
            // If not connected to internet
            return LocalStorage.getObject("sourcesAll");
            // If connected to internet

            return SourceRest.getInstance().query().$promise.then(function(data){
                LocalStorage.setObject("sourcesAll",data);
                return data;
            });
        }

我的SourceRest只是一个$资源调用

我想要的是,如果用户连接到互联网,他会下载最新数据并将其保存到他的Localstorage然后返回。
如果未连接,请从Localstorage中获取数据并将其返回。

承诺的返回数据工作正常

return SourceRest.getInstance().query()

同样从localStorage返回(如果保存了某些内容)正在运行

return LocalStorage.getObject("sourcesAll");

我可以从ajax回调中返回我的数据,还是有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

使用$ q.defer()

让它工作
// If not connected to internet
return LocalStorage.getObject("sourcesAll");
// If connected to internet

var result= $q.defer();

SourceRest.getInstance().query().$promise.then(function(data){
      LocalStorage.setObject("sourcesAll",data);
      result.resolve(data);
});
return result.promise;