收藏
回答

关于计时器自我清除的问题?

timer_load:function(task)

{

var that=this;

that.timer_index_task = setInterval(() => {

          clearInterval(this.timer_index_task)

          console.log('function1tofunction2=true'+task);

      },3000)

}

当funaction1调用timer_load的时候3秒后执行console.log,但是当funaction1,funaction2同时调用timer_load;就会出现计时器会一直运行一直Log,不能自我清除的问题,请问怎么解决呢?

最后一次编辑于  2021-03-13
回答关注问题邀请回答
收藏

1 个回答

  • jg          ,
    jg ,
    2021-03-13

    作用域的问题,实际上clearInterval(this.timer_index_task) 等于没执行,你可以打印this.timer_index_task试试

    2021-03-13
    有用
    回复 3
    • 曹巍
      曹巍
      2021-03-13
      能执行,先少写了一步var that=this
      2021-03-13
      回复
    • jg          ,
      jg ,
      2021-03-13回复曹巍
      我是说this.timer_index_task 这个值因为作用域的问题没获取到
      2021-03-13
      回复
    • 曹巍
      曹巍
      2021-03-13回复jg ,
      又测试了下,搞定了,是因为同时执行,this.内容被修改了。用的同一个地址。
      2021-03-13
      1
      回复
登录 后发表内容
问题标签