timeout再多次执行log()的时候是保存在哪里呢
来源:3-4 学习自定义Hook - 用useDebounce减少工程搜索请求频率

慕圣3009968
2022-01-15
timeout再多次执行log()的时候是保存在哪里呢(闭包返回函数中带有的参数是上一次函数中的参数?这个引用和对象真实都分别保存在哪里呢,有这方面的闭包详细说明文档吗)
写回答
1回答
-
weixin_慕勒5362282
2022-01-24
我的理解是,log记录的是useDebounce返回的闭包,因为只调用了一次useDebounce,所以后续的log里都是一个timeout,第一次调用给timeout设置了一个setTimeout,之后继续调用log(),因为timeout不为undefined了,所以会触发clearTImeout。
推荐google看看英文文档或者教程,比如mdn、javascript.info、you don't know js等,搜索closure即可。
✖00
相似问题