我正在尝试在 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
);