我的工厂有以下功能
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回调中返回我的数据,还是有其他方法可以做到这一点?
答案 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;