diff options
| author | tamaina <tamaina@hotmail.co.jp> | 2023-01-05 03:28:25 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-05 03:28:25 +0900 |
| commit | b1a75177a0165f726741219206bb52c02c5f6221 (patch) | |
| tree | dacaf102158370c14fa1ec9c25d72dffc0c0e33d /packages/frontend/src/scripts/use-interval.ts | |
| parent | 13.0.0-beta.21 (diff) | |
| download | sharkey-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.ts | 11 |
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; } |