Skip to content

Commit 3ec4ade

Browse files
committed
fix(background): 修复缓存
1 parent 6dfe60e commit 3ec4ade

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/background/lcrp.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,27 +54,33 @@ async function getFileIcons(
5454
sendResponse(res)
5555
}
5656

57-
const cache = new Map<string, LbaoPredictorType>()
57+
const cache = new Map<string, Map<string, LbaoPredictorType>>()
5858
async function getPredictionHandle(
5959
message: GetPredictionMessage,
6060
sender: chrome.runtime.MessageSender,
6161
sendResponse: (response?: any) => void
6262
) {
6363
const { contestSlug, users } = message
64-
64+
let userCache = cache.get(contestSlug)!
65+
if (!userCache) {
66+
userCache = new Map()
67+
cache.set(contestSlug, userCache)
68+
}
6569
try {
6670
const tmp = users
67-
.filter(a => !cache.has(gkey(a.region, a.username)))
71+
.filter(a => !userCache.has(gkey(a.region, a.username)))
6872
.map(a => ({ data_region: a.region, username: a.username }))
6973
if (tmp.length) {
7074
const data = await predictorApi(contestSlug, tmp)
7175
for (const item of data) {
7276
const key = gkey(item.data_region, item.username)
73-
cache.set(key, item)
77+
userCache.set(key, item)
7478
}
7579
}
7680

77-
sendResponse(users.map(user => cache.get(gkey(user.region, user.username))))
81+
sendResponse(
82+
users.map(user => userCache.get(gkey(user.region, user.username)))
83+
)
7884
} catch (error) {
7985
// TODO
8086
}

0 commit comments

Comments
 (0)