置顶

0 点赞 评论 收藏
分享
nc_bug:第九条那个,因为你每次递归就建了两次工具函数和清理函数。其实把 print 函数再包一层就好了。
function printHello(delay) {
let timer = null;
// 执行函数包在内部,这样 timer 相对于它又是全局变量了
function fn() {
console.log('hello');
timer = setTimeout(fn, 5000);
}
fn();
setTimeout(() => {
if (!timer) return;
clearTimeout(timer);
console.log('clear');
}, delay);
}

0 点赞 评论 收藏
分享

0 点赞 评论 收藏
分享

0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: