显示来自 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 结果进行更新的主要内容,如果未能解决你的问题,请参考以下文章

Ionic 使用本地缓存暂存数据 localStorage

面localStorage用作数据缓存的简易封装

JS惰性删除和定时删除可过期的localStorage缓存,或sessionStorage缓存

JS惰性删除和定时删除可过期的localStorage缓存,或sessionStorage缓存

如何清除localStorage缓存中的value值

H5 localStorage sessionStorage