显示来自 localStorage 缓存的数据,然后使用来自服务的 AJAX 结果进行更新
Posted
技术标签:
【中文标题】显示来自 localStorage 缓存的数据,然后使用来自服务的 AJAX 结果进行更新【英文标题】:Display data from localStorage cache, then update with AJAX result from service 【发布时间】:2014-02-13 08:42:19 【问题描述】:我有一个返回产品列表的 RESTful Web 服务。我有一个通过 Ajax 调用此服务的 Angular 应用程序。我想做的是:
检查产品列表是否在localStorage中,如果有则显示在屏幕上,然后在后台调用Ajax并在该服务返回时刷新屏幕。实际上,我想要一种方法来首先从 localStorage(我的缓存)加载和显示,然后在它返回后用服务中的最新数据替换它(并更新缓存)。
我想首先加载并显示来自 localStorage 的数据,因为如果用户离线,那么显然 Ajax 请求将无法完成,我希望此应用在用户没有互联网连接时工作。
您将如何在 Angular 方面实现这一点?我正在查看 $q 和 promises 但不确定如何让它“解决”两次...
【问题讨论】:
【参考方案1】:我建议有一个简单的服务,从您的服务器加载一个文件来说明应用程序在线,直到加载该文件,您的应用程序才离线,所以您不会首先进行 Ajax 调用,也许有鉴于通过应用会话了解状态的重要性,该服务会轮询您的服务器。
【讨论】:
以上是关于显示来自 localStorage 缓存的数据,然后使用来自服务的 AJAX 结果进行更新的主要内容,如果未能解决你的问题,请参考以下文章
JS惰性删除和定时删除可过期的localStorage缓存,或sessionStorage缓存