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

时间:2014-01-23 01:05:51

标签: ajax angularjs caching local-storage

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

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

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

我想先从localStorage加载并显示数据,因为如果用户处于离线状态,那么很明显Ajax请求将无法完成,我希望此应用在用户没有互联网连接时正常工作。

你如何在Angular方面实现这一点?我看着$ q和承诺,但不确定我怎么能让它'解决'两次......

1 个答案:

答案 0 :(得分:0)

我建议你提供一个简单的服务,从你的服务器加载文件,说应用程序在线,直到加载你的应用程序离线的文件,这样你就不会在第一时间进行Ajax调用,也许有鉴于通过您的应用会话了解状态的重要性,服务会对您的服务器进行轮询。