perf: parallelize independent requests in daka detail page

Use Promise.all for user group queries, comment loading,
and resource note group fetching.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-30 23:59:48 +08:00
parent 8589a6fc02
commit e5e6de01d3
2 changed files with 10 additions and 8 deletions
+4 -2
View File
@@ -248,8 +248,10 @@ export default defineComponent({
session.write("DAKA", await prepare())
startTimer(() => store.current, check_tasks)
}
await usingUserGroup.query("mine");
await usingUserGroup.query("assigned");
await Promise.all([
usingUserGroup.query("mine"),
usingUserGroup.query("assigned")
]);
ready.value = true
})
+6 -6
View File
@@ -133,15 +133,13 @@ export default function useDaka() {
async function get_qs_resource_note_groups() {
for (let i = 0; i < store.current.course_sections.length; i++) {
let qs = store.current.course_sections[i]
await Promise.all(store.current.course_sections.map(async (qs) => {
if (!qs.resource_note_group) {
await get_resource_note_group(qs)
} else {
// we need to set comments to global state by check_comments_tasks function
await check_resource_notes_task(qs.resource_note_group)
}
}
}))
}
async function check_tasks() {
@@ -179,8 +177,10 @@ export default function useDaka() {
if (r) {
convert(d);
store.current = {...d, end_date: getEndDate(d)};
await load_comments(id);
await get_qs_resource_note_groups();
await Promise.all([
load_comments(id),
get_qs_resource_note_groups()
]);
} else {
reset()
showFailToast(e);