ajax - 显示 localStorage 缓存中的数据,然后使用服务中的 AJAX 结果进行更新

标签 ajax angularjs caching local-storage

我有一个可返回产品列表的 RESTful Web 服务。我有一个 Angular 应用程序通过 Ajax 调用此服务。我想做的是:

  • 检查产品列表是否在 localStorage 中,如果是,则将其显示在屏幕上,然后在后台进行 Ajax 调用,并在该服务返回时刷新屏幕。

实际上,我想要一种首先从 localStorage(我的缓存)加载和显示的方法,然后在返回后将其替换为服务中的最新数据(并更新缓存)。

我想首先加载并显示 localStorage 中的数据,因为如果用户处于离线状态,那么显然 Ajax 请求将无法完成,并且我希望此应用程序在用户没有互联网连接时运行。

你会如何在 Angular 端实现这个?我正在查看 $q 和 promise ,但不确定如何让它“解决”两次......

最佳答案

我建议使用一个简单的服务,从您的服务器加载一个文件来表示该应用程序处于在线状态,直到加载该文件为止,您的应用程序处于离线状态,因此您不会首先进行 Ajax 调用,也许有鉴于了解应用 session 状态的重要性,该服务会轮询您的服务器。

关于ajax - 显示 localStorage 缓存中的数据,然后使用服务中的 AJAX 结果进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21297359/

相关文章:

caching - AEM Dispatcher - 缓存规则

c - 编程以填充我们系统的 L1 或 L2 缓存

javascript - 如何制作一个高效的基于ajax的javascript脚本

python - 选项卡错误: inconsistent use of tabs and spaces in indentation - Integration MailChimp Django

jquery - $.ajax 解析错误 {"vErrorsFound":true ,"vMessage" :"Login Failed"}

javascript - 模型更新后, Angular 过滤器不会更新 View

AngularJs 单元测试内存泄漏

ios - iPhone 上的核心数据存储限制、缓存限制、RAM 限制

c# - 如何获取我的 Canvas 的快照

javascript - ng-touched 不工作-AngularJS