执行清除定时器操作,无法清除js定时器

现在场景如下:一个for循环里先执行一个异步的ajxa1(方法1),在for循环里下面又会开定时器(settimeout嵌套setinterval两个定时器)再这两个定时器里都会调用ajxa2(方法2)。现在我需要在方法1中的回调success或者error方法中清除与它对应生成的settimeout和setinterrval的定时器(方法1执行没有回调时定时器会一直调用方法2)。我现在的做法是在循环里最后面将定时器id保存在一个数组里的对象下,然后再方法1回调里进行清除,通过console.log可以确定回调里能获取到两个定时器id,并且执行清除操作,但是不知道为什么清除不掉定时器。

阅读 3.5k
2 个回答

可以吧代码贴出来么

估计是保存定时器ID的变量作用域不一致问题

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