clear setInterval() when the component is unMounted

This commit is contained in:
RockYang
2025-03-05 14:36:41 +08:00
parent f580f671a3
commit 43f00b1481
8 changed files with 47 additions and 18 deletions

View File

@@ -191,6 +191,7 @@ const showModelPicker = ref(false);
const runningJobs = ref([]);
const finishedJobs = ref([]);
const allowPulling = ref(true); // 是否允许轮询
const tastPullHandler = ref(null);
const router = useRouter();
const power = ref(0);
const dallPower = ref(0); // 画一张 DALL 图片消耗算力
@@ -236,7 +237,9 @@ onMounted(() => {
onUnmounted(() => {
clipboard.value.destroy();
store.removeMessageHandler("dall");
if (tastPullHandler.value) {
clearInterval(tastPullHandler.value);
}
});
const initData = () => {
@@ -247,7 +250,7 @@ const initData = () => {
fetchRunningJobs();
fetchFinishJobs(1);
setInterval(() => {
tastPullHandler.value = setInterval(() => {
if (allowPulling.value) {
fetchRunningJobs();
}

View File

@@ -310,7 +310,9 @@ const prompt = ref("");
const store = useSharedStore();
const clipboard = ref(null);
const taskPulling = ref(true);
const tastPullHandler = ref(null);
const downloadPulling = ref(false);
const downloadPullHandler = ref(null);
onMounted(() => {
clipboard.value = new Clipboard(".copy-prompt");
@@ -329,13 +331,13 @@ onMounted(() => {
fetchRunningJobs();
fetchFinishJobs(1);
setInterval(() => {
tastPullHandler.value = setInterval(() => {
if (taskPulling.value) {
fetchRunningJobs();
}
}, 5000);
setInterval(() => {
downloadPullHandler.value = setInterval(() => {
if (downloadPulling.value) {
page.value = 1;
fetchFinishJobs(1);
@@ -349,7 +351,12 @@ onMounted(() => {
onUnmounted(() => {
clipboard.value.destroy();
store.removeMessageHandler("mj");
if (tastPullHandler.value) {
clearInterval(tastPullHandler.value);
}
if (downloadPullHandler.value) {
clearInterval(downloadPullHandler.value);
}
});
const mjPower = ref(1);

View File

@@ -229,6 +229,7 @@ const params = ref({
const runningJobs = ref([]);
const finishedJobs = ref([]);
const allowPulling = ref(true); // 是否允许轮询
const tastPullHandler = ref(null);
const router = useRouter();
// 检查是否有画同款的参数
const _params = router.currentRoute.value.params["copyParams"];
@@ -264,7 +265,9 @@ onMounted(() => {
onUnmounted(() => {
clipboard.value.destroy();
store.removeMessageHandler("sd");
if (tastPullHandler.value) {
clearInterval(tastPullHandler.value);
}
});
const initData = () => {
@@ -276,7 +279,7 @@ const initData = () => {
fetchRunningJobs();
fetchFinishJobs(1);
setInterval(() => {
tastPullHandler.value = setInterval(() => {
if (allowPulling.value) {
fetchRunningJobs();
}