概述
实现setInterval刷新页面立即执行一次
问题:setInterval函数在刷新页面的时候第一次执行需要等到设置的循环时间到才执行
方法1:在setInterval函数前写一遍要执行的js代码(可实现,但不雅观),代码如下:
console.log(“立即执行”);
setInterval(function(){
console.log(“立即执行”);
},10000)
方法2:代码如下:
function fn() {
console.log(“立即执行”);
return fn // 函数中返回自身
}
setInterval(fn(), 10000) // 定时器中,函数先执行一次
setInterval小知识:
setInterval(fn(), 2000); 加括号 立即执行,且执行一次.
setInterval(fn, 2000);不加括号,2秒后执行,且循环执行.
实现setInterval同步执行
问题:setInterval函数为异步执行(setTimeout同理),导致代码块没有执行完就进入到下一个执行条件了
方法:代码如下:
setInterval(function(){
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
(async function loop() {
for (let i = 0; i < 13; i++) {
console.log(“停5秒前执行的代码”);
await delay(5000);//线程停5秒后再执行后面的代码
console.log(“停5秒后执行”);
}
})();
},100000)
最后
以上就是爱听歌小鸭子为你收集整理的setInterval立即触发一次以及setInterval同步执行的解决办法的全部内容,希望文章能够帮你解决setInterval立即触发一次以及setInterval同步执行的解决办法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复