HarmonyOS 鸿蒙Next setInterval有没有类似android中设置第一次立即执行,之后按照固定时间间隔执行的方式?

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next setInterval有没有类似android中设置第一次立即执行,之后按照固定时间间隔执行的方式?

setInterval有没有类似android中设置第一次立即执行,之后按照固定时间间隔执行的方式?

2 回复
定义变量
[@State](/user/State) intervalID: number = 0

开启定时器

console.log('do sth')

this.intervalID = setInterval(() => {

   console.log(‘do sth’)

},5000)

取消定时器

 clearInterval(this.intervalID)

在HarmonyOS鸿蒙Next系统中,setInterval 函数本身并不直接支持像Android中那样设置第一次立即执行,然后按照固定时间间隔继续执行的功能。不过,你可以通过一些编程技巧来实现这一需求。

你可以使用setTimeout来立即执行第一次任务,然后在该任务的回调函数中使用setInterval来设置后续的固定时间间隔执行。以下是一个简单的示例代码:

// 定义要执行的任务函数
function myTask() {
    console.log("Task executed at " + new Date().toLocaleTimeString());
}

// 立即执行第一次任务
setTimeout(function() {
    myTask();
    
    // 设置后续的固定时间间隔执行任务
    setInterval(myTask, 1000); // 每1000毫秒(1秒)执行一次
}, 0); // 0毫秒后执行,即立即执行

这种方式可以模拟出第一次立即执行,之后按照固定时间间隔执行的效果。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部