请问这个函数要怎么清除定时器
javascript吧
全部回复
仅看楼主
level 6
wsh8971
楼主
执行两次函数,定时器也会执行两次,怎么才能让定时器只在最后一次执行
2020年12月11日 03点12分
1
level 12
丶影-奈斯
let timeout 放外面...
2020年12月11日 04点12分
2
wsh8971
感谢感谢
2020年12月11日 08点12分
level 3
木木木木mu🙃
套娃
2021年04月03日 06点04分
4
level 3
无始大帝
你就不能把清除写在里面?你这变量提升了,但是里面是异步,没清除
2021年04月05日 11点04分
7
贴吧用户_aJDbD8a
用let声明的变量不存在变量提升,延时执行并不是异步;每一次执行函数的时候都会声明一个局部变量timeout,跟上一次执行函数的时候声明的timeout没有任何关系,所以clearTimeout就没有作用;把let timeout放到函数外面就把它变成全局变量,这样子每一次执行函数的时候都会清除这个定时器
2021年04月07日 03点04分
无始大帝
@贴吧用户_aJDbD8a
延时不是异步还是同步呢?跟主线程不同执行的宏任务,不是异步是什么?
2021年04月07日 03点04分
贴吧用户_aJDbD8a
@无始大帝
这个我没用过,我一直都以为是同步执行的
2021年04月07日 03点04分
1