fix(dict): 修复字典请求失败后队列未清理导致永久阻塞

This commit is contained in:
Ray.Hao
2025-11-04 10:03:32 +08:00
parent 1d5544d2dd
commit 6cbfa08bae
2 changed files with 11 additions and 5 deletions

View File

@@ -39,7 +39,7 @@ function createDictSyncHook() {
const messageCallbacks = ref<DictMessageCallback[]>([]);
// 重试定时器
let retryTimer: any = null;
let retryTimer: ReturnType<typeof setTimeout> | null = null;
/**
* 注册字典消息回调

View File

@@ -26,10 +26,16 @@ export const useDictStore = defineStore("dict", () => {
if (dictCache.value[dictCode]) return;
// 防止重复请求
if (!requestQueue[dictCode]) {
requestQueue[dictCode] = DictAPI.getDictItems(dictCode).then((data) => {
cacheDictItems(dictCode, data);
Reflect.deleteProperty(requestQueue, dictCode);
});
requestQueue[dictCode] = DictAPI.getDictItems(dictCode)
.then((data) => {
cacheDictItems(dictCode, data);
Reflect.deleteProperty(requestQueue, dictCode);
})
.catch((error) => {
// 请求失败,清理队列,允许重试
Reflect.deleteProperty(requestQueue, dictCode);
throw error;
});
}
await requestQueue[dictCode];
};