使用vuex加载,保存和重新加载ajax api响应

时间:2018-10-29 16:51:23

标签: vue.js axios vuex

我有一个vue3-app,它是asp.net core 2 api的前端。

许多数据被多个组件使用。而且为了不发出多个相同的请求,我想将响应数据存储在我的vuex存储中(如果尚未存在的话)。

问题是,大多数数据变化很大,所以我需要能够告诉vuex在一段时间后刷新数据。 但是我不想刷新所有请求的数据,因为其中一些不需要经常刷新,而有些则根本不需要刷新(例如,国家列表)。

所以我需要一种告诉vuex的方法,我想永久保存特定axios请求的响应,或者在设定的时间后重新请求。

我的问题是:是否有一个我找不到的插件?如果没有,那么如何在不为每个请求重写的情况下实现所描述的功能?

2 个答案:

答案 0 :(得分:1)

有一个axios-cache-adapter库,它是axios的插件,可以缓存响应。

这是实现缓存层的绝佳解决方案,它负责验证应用程序数据存储逻辑之外的缓存,并将其用于requets库。

它可以与localstorageindexedDB一起使用(通过localforage库)

答案 1 :(得分:1)

有一些可用的axios缓存项目:

当前最受欢迎的2个是axios-extensionsaxios-cache-adapter

npm trends Source of the chart