前端页面想做个定时任务,但是使用requestAnimationFrame,setinterval和settimeout都不行,因为在页面最小化或者被至于后台,浏览器时会不被执行,有没有什么其他定时函数,可以在页面失活时也能执行。。
22条回答 默认 最新
专家-皆知 2024-11-06 10:51关注以下回复引自免费微信小程序:皆我百晓生。 如问题解决,还请采纳。如仍有疑问,请回复留言或私信博主,以便获得更精准的帮助。
在JAVASCRIPT中实现定时任务的解决方案:
-
使用
SETTIMEOUT()函数:SETTIMEOUT(FUNCTION() { // 模拟执行任务 CONSOLE.LOG('TASK EXECUTED'); }, 2000); // 定时时间为2秒 -
使用
SETINTERVAL()函数:SETINTERVAL(FUNCTION() { // 模拟执行任务 CONSOLE.LOG('TASK EXECUTED'); }, 1000); // 定时时间为1秒 -
使用
WINDOW.SETINTERVAL()函数:WINDOW.SETINTERVAL(FUNCTION() { // 模拟执行任务 CONSOLE.LOG('TASK EXECUTED'); }, 1000); // 定时时间为1秒 -
使用
SETTIMEOUT()与WINDOW.SETTIMEOUT()结合使用:SETTIMEOUT(FUNCTION() { WINDOW.SETTIMEOUT(FUNCTION() { // 模拟执行任务 CONSOLE.LOG('TASK EXECUTED'); }, 2000); }, 2000); // 定时时间为2秒 -
使用
SETINTERVAL()与WINDOW.SETINTERVAL()结合使用:SETINTERVAL(FUNCTION() { WINDOW.SETINTERVAL(FUNCTION() { // 模拟执行任务 CONSOLE.LOG('TASK EXECUTED'); }, 1000); }, 1000); // 定时时间为1秒 -
使用
SETTIMEOUT()与SETTIMEOUT()结合使用:SETTIMEOUT(FUNCTION() { SETIMMEDIATE(FUNCTION() { // 模拟执行任务 CONSOLE.LOG('TASK EXECUTED'); }); }, 2000); // 定时时间为2秒 -
使用
WINDOW.SETTIMEOUT()与SETINTERVAL()结合使用:WINDOW.SETTIMEOUT(FUNCTION() { SETINTERVAL(FUNCTION() { // 模拟执行任务 CONSOLE.LOG('TASK EXECUTED'); }, 1000); }, 1000); // 定时时间为1秒 -
使用
SETINTERVAL()与WINDOW.SETINTERVAL()结合使用:SETINTERVAL(FUNCTION() { WINDOW.SETINTERVAL(FUNCTION() { // 模拟执行任务 CONSOLE.LOG('TASK EXECUTED'); }, 1000); }, 1000); // 定时时间为1秒 -
使用
SETTIMEOUT()与SETINTERVAL()结合使用:SETTIMEOUT(FUNCTION() { SETTIMEOUT(FUNCTION() { // 模拟执行任务 CONSOLE.LOG('TASK EXECUTED'); }, 2000); }, 2000); // 定时时间为2秒
通过上述方法,你可以有效地在页面最小化或后台执行任务。
解决 无用评论 打赏 举报-