This commit is contained in:
tamaina 2025-08-26 03:26:25 +09:00
parent 7bbbc8718f
commit 0410fa20ad
1 changed files with 9 additions and 3 deletions

View File

@ -46,15 +46,18 @@ const uris = ref<string[]>([]);
const usersSource = new Map<string, misskey.entities.UserDetailed | null>(); const usersSource = new Map<string, misskey.entities.UserDetailed | null>();
const users = ref<(misskey.entities.UserDetailed)[]>([]); const users = ref<(misskey.entities.UserDetailed)[]>([]);
let timer = ref<ReturnType<typeof setTimeout> | null>(null); const timer = ref<ReturnType<typeof setTimeout> | null>(null);
function updateUsers() { function updateUsers() {
users.value = uris.value.map(uri => usersSource.get(uri)).filter(u => u) as misskey.entities.UserDetailed[]; users.value = uris.value.map(uri => usersSource.get(uri)).filter(u => u) as misskey.entities.UserDetailed[];
updateRequired.value = false;
} }
watch([uris, timer], () => { const updateRequired = ref(false);
watch(uris, () => {
if (timer.value) { if (timer.value) {
console.log('Skip updateUsers because of timer'); updateRequired.value = true;
return; return;
} }
@ -63,6 +66,9 @@ watch([uris, timer], () => {
timer.value = setTimeout(() => { timer.value = setTimeout(() => {
console.log('Update users after 3 seconds'); console.log('Update users after 3 seconds');
timer.value = null; timer.value = null;
if (updateRequired.value) {
updateUsers();
}
}, 3000); }, 3000);
}); });