Javascript 限制设置间隔功能? 功能问候语(名称){ console.log('Hello Good Morning'+name); } //let timeout=setTimeout(greet,3000,“Alapottra”); //console.log(超时); //clearTimeout(超时); let interval=setInterval(greet,2000,'Jhon'); 让计数=0; 如果(计数4){ 间隔时间; } } const interval=setInterval(greet,2000,'Jhon')

Javascript 限制设置间隔功能? 功能问候语(名称){ console.log('Hello Good Morning'+name); } //let timeout=setTimeout(greet,3000,“Alapottra”); //console.log(超时); //clearTimeout(超时); let interval=setInterval(greet,2000,'Jhon'); 让计数=0; 如果(计数4){ 间隔时间; } } const interval=setInterval(greet,2000,'Jhon'),javascript,Javascript,如何限制间隔函数,就像我希望它运行5次然后停止一样,我尝试使用while循环和for循环,但似乎没有任何效果 function greet(name) { console.log('Hello Good Morning ' + name ); } // let timeout = setTimeout(greet, 3000 , "Alapottra"); // console.lo

如何限制间隔函数,就像我希望它运行5次然后停止一样,我尝试使用while循环和for循环,但似乎没有任何效果

 function greet(name) {
            console.log('Hello Good Morning ' + name );
        }

        
        // let timeout = setTimeout(greet, 3000 , "Alapottra");
        // console.log(timeout);

        // clearTimeout(timeout);

       

       let interval =  setInterval(greet , 2000 , 'Jhon');
        
       let count = 0 ; 
       if (count < 4){
           console.log(interval);
           count++
       }else{
           clearInterval;
       }

你喜欢下面的代码吗

 function greet(name) {
            console.log('Hello Good Morning ' + name );
        }

        
        // let timeout = setTimeout(greet, 3000 , "Alapottra");
        // console.log(timeout);

        // clearTimeout(timeout);

       

       let interval =  setInterval(greet , 2000 , 'Jhon');
        
       let count = 0 ; 
       if (count < 4){
           console.log(interval);
           count++
       }else{
           clearInterval;
       }

每次调用
greet
函数时,您都需要增加
count

然后,在预定的运行次数之后清除间隔

您需要将
interval
传递到
clearInterval

以下是一个工作片段:

let count=0;
功能(名称){
计数++;
console.log('Hello Good Morning'+name);
如果(计数>4){
间隔时间;
}
}

const interval=setInterval(greet,2000,'Jhon')
每次调用
问候
函数时,您都需要增加
计数

然后,在预定的运行次数之后清除间隔

您需要将
interval
传递到
clearInterval

以下是一个工作片段:

let count=0;
功能(名称){
计数++;
console.log('Hello Good Morning'+name);
如果(计数>4){
间隔时间;
}
}
const interval=setInterval(greet,2000,'Jhon')
让计数=0;
let interval=setInterval(greet,2000,'Jhon');
功能(名称){
控制台日志(计数);
如果(计数<4){
计数++;
}否则{
间隔时间;
}
console.log('Hello Good Morning'+name);
}
我希望这将对您有所帮助。

let count=0;
let interval=setInterval(greet,2000,'Jhon');
功能(名称){
控制台日志(计数);
如果(计数<4){
计数++;
}否则{
间隔时间;
}
console.log('Hello Good Morning'+name);
}

我希望这将对您有所帮助。

要限制
setInterval
启动任何给定函数的次数,只需将
setInterval
函数包装到另一个为您处理此问题的函数中即可

这里有一个我提出的
setFiniteInterval
函数,它接受基本的
setInterval
参数,但也接受一个参数
trys:number=null
,它指示应该运行多少次
setInterval

此外,我还添加了一个
fireartime:boolean=false
参数,如果要立即启动传递的函数,可以将该参数设置为true。这是从您设置的尝试次数中减去的,因此将
tries
设置为
10
firestime
设置为
true
将导致函数立即运行一次,并每隔9次运行,当将
trys
设置为
10
firestime
设置为
false
时,将导致函数每隔10次运行一次

其余参数主要用于函数本身,以清除间隔并设置新间隔

让setFiniteInterval=(fn,延迟=1000,尝试=null,fireInstance=false,currentCount=0,间隔)=>{
间隔时间;
如果(尝试===currentCount)返回;
如果(!currentCount&&fireInstance)fn();
间隔=设置间隔(()=>{
tries=firestime?tries-1:尝试;
fn();
setFiniteInterval(fn、延迟、尝试、假、+currentCount、间隔);
},延误);
};
下面是一个以1秒为间隔记录“Hello world!”10次的示例

setFiniteInterval(()=>{
log(“你好,世界!”);
}, 1000, 10);

要限制
setInterval
启动任何给定函数的次数,只需将
setInterval
函数包装到另一个为您处理此问题的函数中即可

这里有一个我提出的
setFiniteInterval
函数,它接受基本的
setInterval
参数,但也接受一个参数
trys:number=null
,它指示应该运行多少次
setInterval

此外,我还添加了一个
fireartime:boolean=false
参数,如果要立即启动传递的函数,可以将该参数设置为true。这是从您设置的尝试次数中减去的,因此将
tries
设置为
10
firestime
设置为
true
将导致函数立即运行一次,并每隔9次运行,当将
trys
设置为
10
firestime
设置为
false
时,将导致函数每隔10次运行一次

其余参数主要用于函数本身,以清除间隔并设置新间隔

让setFiniteInterval=(fn,延迟=1000,尝试=null,fireInstance=false,currentCount=0,间隔)=>{
间隔时间;
如果(尝试===currentCount)返回;
如果(!currentCount&&fireInstance)fn();
间隔=设置间隔(()=>{
tries=firestime?tries-1:尝试;
fn();
setFiniteInterval(fn、延迟、尝试、假、+currentCount、间隔);
},延误);
};
下面是一个以1秒为间隔记录“Hello world!”10次的示例

setFiniteInterval(()=>{
log(“你好,世界!”);
}, 1000, 10);

是否将间隔功能存储在
let count = 0 ; 
let interval = setInterval(greet , 2000 , 'Jhon');

function greet(name) {
  console.log(count);
  if (count < 4){
    count++;
  } else {
    clearInterval(interval);
  }
  
  console.log('Hello Good Morning ' + name );
}