首页 > 解决方案 > JS,setTimout函数在指定间隔前执行

问题描述

下面的代码是每秒钟登录count到控制台,4秒后它将停止

从下面可以推断,setTimout 函数在 4 秒前执行并且程序失败

   let count=0;
    let intid = setInterval(counter,1000)
    
    function counter(){
    console.log(++count)
    }
    
    setTimeout(clearInterval(intid),4000)

当我更改为这种格式 setTimeout(()=>clearInterval(intid),4000)时,它运行良好。

为什么它在达到 4 s 之前执行?

标签: javascript

解决方案


您正在调用 clearInterval 然后将结果发送到 setTimeout 函数,当您编写时setTimeout(() => clearInterval(intid), 4000)您正在发送函数和调用的结果


推荐阅读