|
@@ -116,6 +116,8 @@ export default defineComponent({
|
|
|
const res = await getGroup();
|
|
|
store.groups = res.data;
|
|
|
}
|
|
|
+
|
|
|
+ let preDrawing = false;
|
|
|
async function updateTask() {
|
|
|
const res = await getTask();
|
|
|
if (res.data.libraryId) {
|
|
@@ -151,7 +153,12 @@ export default defineComponent({
|
|
|
// for (const sliceUrl of (res.data as Task).sliceUrls) {
|
|
|
// fetch(sliceUrl);
|
|
|
// }
|
|
|
- preDrawImage(res.data);
|
|
|
+ try {
|
|
|
+ preDrawing = true;
|
|
|
+ await preDrawImage(res.data);
|
|
|
+ } finally {
|
|
|
+ preDrawing = false;
|
|
|
+ }
|
|
|
} else {
|
|
|
store.message = res.data.message;
|
|
|
}
|
|
@@ -160,9 +167,12 @@ export default defineComponent({
|
|
|
// 5秒更新一次tasks
|
|
|
addInterval(() => {
|
|
|
// console.log("get task", store.tasks);
|
|
|
- if (store.tasks.length < (store.setting.prefetchCount ?? 3)) {
|
|
|
- // 回看打开时,停止取任务
|
|
|
- if (!store.historyOpen) updateTask();
|
|
|
+ // 正在预绘制中,则不要再取任务,以免拖慢当前任务的绘制
|
|
|
+ if (!preDrawing) {
|
|
|
+ if (store.tasks.length < (store.setting.prefetchCount ?? 3)) {
|
|
|
+ // 回看打开时,停止取任务
|
|
|
+ if (!store.historyOpen) updateTask();
|
|
|
+ }
|
|
|
}
|
|
|
}, 5 * 1000);
|
|
|
|