首页 > 解决方案 > Angular 5将http数据存储在本地存储中

问题描述

我想最小化来自我的应用程序的网络请求数量,为此我想将来自 GET API 的数据存储到浏览器的本地存储中。我想在服务中这样做,这样每当有对 GET API 的请求时,如果数据不存在,应用程序首先检查本地存储,然后只发出网络请求。我在这里很困惑如何将数据存储在本地存储中,即如何从网络请求中保存数据,然后将数据发送给订阅者。我知道 .pipe() 方法,但不知道用于保存数据的 rxjs 运算符。

TIA

标签: angularrxjsobservable

解决方案


这很简单 - 是的,你应该使用pipe

return http.get("something").pipe(
   tap(value=>save your value in local storage)
)

tap具有相同的签名(参数),subscribe并且用于查看管道中的值 - 您可以说它的行为类似于订阅,但没有实际订阅。


推荐阅读