Don't reuse var for both timeout and interval

This commit is contained in:
Lim Chee Aun 2024-08-04 10:06:55 +08:00
parent 4ebfb544aa
commit 99ee6c3979

View file

@ -46,6 +46,7 @@ export default memo(function BackgroundService({ isLoggedIn }) {
useEffect(() => { useEffect(() => {
let sub; let sub;
let streamTimeout;
let pollNotifications; let pollNotifications;
if (isLoggedIn && visible) { if (isLoggedIn && visible) {
const { masto, streaming, instance } = api(); const { masto, streaming, instance } = api();
@ -56,7 +57,7 @@ export default memo(function BackgroundService({ isLoggedIn }) {
let hasStreaming = false; let hasStreaming = false;
// 2. Start streaming // 2. Start streaming
if (streaming) { if (streaming) {
pollNotifications = setTimeout(() => { streamTimeout = setTimeout(() => {
(async () => { (async () => {
try { try {
hasStreaming = true; hasStreaming = true;
@ -94,7 +95,7 @@ export default memo(function BackgroundService({ isLoggedIn }) {
return () => { return () => {
sub?.unsubscribe?.(); sub?.unsubscribe?.();
sub = null; sub = null;
clearTimeout(pollNotifications); clearTimeout(streamTimeout);
clearInterval(pollNotifications); clearInterval(pollNotifications);
}; };
}, [visible, isLoggedIn]); }, [visible, isLoggedIn]);