settimeout第一个参数中console.log('1111')打印了21次?

问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
image.png

你期待的结果是什么?实际看到的错误信息又是什么?

期待只打印一次,结果打印了21次
image.png

阅读 4.2k
3 个回答

你这没看出和setTimeout有关呀,你这是deleteFuc执行了21次,应该是批量删除,调用了这个方法21次。

time1time2挂载到全局对象上,

let that = this;
clearTimeout(that.time1);
clearTimeout(that.time2);
that.time1 = setTimeout(() => {
  //...
  that.time2 = setTimeout(() => {
    //...
  });
});

不然像你这种写法每次执行这个函数都重新生成time1time2 clearTimeout等于根本没有执行

看 deleteFunc() 调用了多少次

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题