我正在尝试在 vue.JS 中设置一个简单的超时,但不知何故,等待时间似乎不起作用,因为我的 parse
函数是立即触发的,而不是 5 秒后触发
props: {
url:String
},
data(){
return{
typingTimer:null,
doneTypingInterval: 5000
}
},
methods: {
parseTimeout(url){
clearTimeout(this.typingTimer);
this.typingTimer = setTimeout(
this.parse(url),
this.doneTypingInterval
);
},
parse(url){
console.log('triggered')
},
},
watch: {
url(){
this.parseTimeout(this.$props.url)
}
}
最佳答案
您正在调用this.parse(url)
但你需要传递函数
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout
this.typingTimer = setTimeout(
() => this.parse(url),
this.doneTypingInterval
);
关于javascript - vueJS,超时不等待计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55777378/