Quantcast
Channel: Recent Questions - Stack Overflow
Viewing all articles
Browse latest Browse all 11601

Reusable independent timer instance in vue 3

$
0
0

I have a timer in my App, which I want to use in several components. When I start use it in one component other components get the timeToRetry state from it. How to transform this code to have 2 and more independent timers in different components of one App ?

interface State {  timeToRetry: number;  timer: ReturnType<typeof setTimeout> | null;}const state: State = reactive({  timeToRetry: 0,  timer: null,});const stopTimer = () => {  state.timeToRetry = 0;  if (state.timer) {    clearTimeout(state.timer);    state.timer = null;  }};const startTimer = (seconds: number) => {  stopTimer();  state.timeToRetry = seconds;  state.timer = setInterval(() => {    if (state.timeToRetry > 0) {      state.timeToRetry--;    } else {      stopTimer();    }  }, 1000);};export default {  ...toRefs(state),  startTimer,  stopTimer,};

Viewing all articles
Browse latest Browse all 11601

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>