封装定时器方法

需求:查询的历史数据需要定时3分钟刷新(产品提的要求 照做!!!)

//周期性地执行指定的回调函数,并在组件销毁时清除该定时器,以防止内存泄漏或不必要的回调执行
export const timmingLoadingsTime = (callback, time) => {
  const rollertimer2 = ref(null);
  rollertimer2.value = setInterval(() => {
    if (callback) {
      callback();
    }
  }, time); //30 * 60 * 1000  30分钟
    
  //组件卸载时销毁定时器
  onUnmounted(() => {
    clearInterval(rollertimer2.value);
  });

  return {
    rollertimer2,
  };
};

在需要的文件引用该方法,如下图:

//引入封装方法
import { timmingLoadings, timmingLoadingsTime } from "@/utils/timingLoading.js";
//方式一:
<script setup>
    onMounted(()=>{
        const { rollertimer2 } = timmingLoadingsTime(() => {
            nextTag();//这是我要定时循环的代码 这里放你所需要定时的功能
        }, 5000);
    });
</script>
//方式二:
export default {
    setup(){
        const counter = ref(0);
        onMounted(() => {
            // 调用 timmingLoadingsTime 函数设置定时器
            const { rollertimer2 } = timmingLoadingsTime(() => {
                // 每次定时器触发时执行的逻辑
                counter.value++; // 假设每次递增计数器
            }, 5000); // 设置定时器间隔为 5 秒

            // rollertimer2 可以在组件中被引用和操作
        });

        return {
            counter,
        };
    }
}
//方式三:
<script setup>
    onMounted(()=>{
        //自己使用下来挺正常 因为我没看别人这么用过嘻嘻🤭~
        timmingLoadingsTime(nextTag, 5000);
    })
</script>

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值