设置秒后,Vuejs2设置超时无法执行该功能

时间:2018-05-23 15:55:58

标签: javascript vuejs2

AM尝试使用setTimeout在1秒后执行一个函数,但它无法正常工作

所以我有

mounted(){
   this.getTime();
}

methods:{
 getTime(){

    setTimeout(()=>{
     console.log("test..");
    },1000)
   }
}

以上只记录一次

我尝试将set timout中的箭头功能更改为

setTimeout(function(){
  console.log("test")
 }, 1000);

但即使这样也失败了

我错在哪里因为我希望在控制台上打印多个测试

我更喜欢使用挂钩,因为此函数将使用此关键字执行其他操作,该关键字在mount

之后可用

1 个答案:

答案 0 :(得分:1)

使用setInterval代替setTimeout

setInterval将重复,直到你告诉它停止,而setTimeout只会运行一次(除非它在运行之前被取消)。

mounted(){
   this.getTime();
},
methods:{
 getTime(){
    setInterval(()=>{
     console.log("test..");
    }, 1000)
   }
}

您的另一个选择是在超时结束时再次拨打this.getTime(),如下所示:

mounted(){
   this.getTime();
},
methods:{
 getTime(){
    setTimeout(()=>{
     console.log("test..");
     this.getTime();
    }, 1000)
   }
}