【发布时间】:2016-07-04 02:14:03
【问题描述】:
我正在尝试为我的网络应用程序实现离线功能,其中 $http.get 请求在用户离线时尽可能返回缓存响应/从本地存储中获取。
在我的服务中,我有
service.getRequest = function(){
if(!navigator.onLine){
//return cached response or localStorage[JSON.parse(url)]
}
else {
var deferred = $q.defer();
$http.get(url, {cache : true})
.success(function(data) {
localStorage[url] = JSON.stringify(data);
deferred.resolve(data);
})
.error(function() {
deferred.reject('Unable to get request');
});
return deferred.promise;
}
}
有什么帮助吗?
【问题讨论】:
-
错误函数是否被执行?你不会从你的 localStorage 中读取数据吗?除此之外,即使用户离线,您也必须确保 Web 应用程序运行。我想你已经处理好了。
标签: javascript angularjs offline-caching