【发布时间】:2021-01-15 22:33:41
【问题描述】:
我正在使用 Nuxt 开发一个项目,我需要在 15 秒内更新数据 15,该 api 是第三方 api,每天有 100 个 api 调用限制。 在不计算在线用户数量的情况下,我需要能够每 15 秒仅进行 1 次 api 调用,所以如果我有 10k 在线用户,它只会发出 1 个请求。
到目前为止我已经尝试过。
我的店里有这个
async getData({ commit }) {
await this.$axios
.get('/api/breeds/image/random', {
})
.then(function (response) {
commit('SET_DATA', response.data)
})
},
我创建了一个中间件,我正在服务器端进行调用,因此开发工具上的“网络”选项卡上没有出现任何请求调用,但不幸的是,每次我刷新页面时它仍然算作 1 个请求,我需要一些排序缓存
export default async function ({ store, from }) {
let isInitialPageLoad = !from
if (isInitialPageLoad) {
await store.dispatch('getData')
}
}
最后我在 nuxt.config.js 上启用了 axios 上的代理
知道如何在不根据在线用户发出请求且不刷新页面的情况下进行缓存和更新吗?
【问题讨论】:
标签: api vue.js caching nuxt.js