summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/use-interval.ts
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2023-01-05 03:28:25 +0900
committerGitHub <noreply@github.com>2023-01-05 03:28:25 +0900
commitb1a75177a0165f726741219206bb52c02c5f6221 (patch)
treedacaf102158370c14fa1ec9c25d72dffc0c0e33d /packages/frontend/src/scripts/use-interval.ts
parent13.0.0-beta.21 (diff)
downloadsharkey-b1a75177a0165f726741219206bb52c02c5f6221.tar.gz
sharkey-b1a75177a0165f726741219206bb52c02c5f6221.tar.bz2
sharkey-b1a75177a0165f726741219206bb52c02c5f6221.zip
enhance: RSSウィジェット / RSSティッカーウィジェットをいい感じにする (#9469)
* :v: * use useInterval * :v: * rawItems.value.length !== 0 * fix * https://github.com/misskey-dev/misskey/pull/9469#discussion_r1061763613
Diffstat (limited to 'packages/frontend/src/scripts/use-interval.ts')
-rw-r--r--packages/frontend/src/scripts/use-interval.ts11
1 files changed, 9 insertions, 2 deletions
diff --git a/packages/frontend/src/scripts/use-interval.ts b/packages/frontend/src/scripts/use-interval.ts
index 201ba417ef..601dea6724 100644
--- a/packages/frontend/src/scripts/use-interval.ts
+++ b/packages/frontend/src/scripts/use-interval.ts
@@ -3,7 +3,7 @@ import { onMounted, onUnmounted } from 'vue';
export function useInterval(fn: () => void, interval: number, options: {
immediate: boolean;
afterMounted: boolean;
-}): void {
+}): (() => void) | undefined {
if (Number.isNaN(interval)) return;
let intervalId: number | null = null;
@@ -18,7 +18,14 @@ export function useInterval(fn: () => void, interval: number, options: {
intervalId = window.setInterval(fn, interval);
}
- onUnmounted(() => {
+ const clear = () => {
if (intervalId) window.clearInterval(intervalId);
+ intervalId = null;
+ };
+
+ onUnmounted(() => {
+ clear();
});
+
+ return clear;
}