diff --git a/frontend/ops_vue_js/src/stores/users.js b/frontend/ops_vue_js/src/stores/users.js index a100a27..0efaf48 100644 --- a/frontend/ops_vue_js/src/stores/users.js +++ b/frontend/ops_vue_js/src/stores/users.js @@ -5,8 +5,6 @@ import { ref } from 'vue' import { usersApi } from '@/api/users'; const usersInfo = ref([]); -// 正在请求中的 userID 集合,避免重复发请求 -const pendingFetch = new Set(); export const useUsersStore = defineStore('users', () => { @@ -15,8 +13,8 @@ export const useUsersStore = defineStore('users', () => { } function fetchUser(userID) { - if (pendingFetch.has(userID)) return - pendingFetch.add(userID) + // 缓存命中则不再请求(依赖 usersInfo 的响应式) + if (getUserFromUserID(userID)) return usersApi.getUserInfoFromUserID(userID).then((r) => { if (r.errCode == 0 && r.raw.err_code == 0 && r.raw.return?.userinfo) { // 防止并发写入重复数据 @@ -24,8 +22,6 @@ export const useUsersStore = defineStore('users', () => { usersInfo.value.push(r.raw.return.userinfo) } } - }).finally(() => { - pendingFetch.delete(userID) }) }