【发布时间】:2019-10-04 18:04:41
【问题描述】:
每次我使用 input 时,我的函数都会将数据发送到服务器并得到响应,但是如果我想在字段 'name' 中写入 - Thomas Edison,我会逐信发送
我尝试使用 setTimeout 函数,如果用户仍在编写字符串,则不会发送任何内容,但我不起作用
@input="throttledSave"
throttledSave (e) {
let eva = e
let DELAY = 2000;
if(e.target.value){
return this.throttle(this.setDataFinalJSON, DELAY, eva);
}
},
throttle: function (callback, limit,eva) {
var wait = false;
var typingTimer;
return function (callback, limit,eva) {
clearTimeout(typingTimer)
if (!wait) {
callback(eva);
wait = true;
typingTimer = setTimeout(function () {
console.log('oh again')
wait = false;
}, limit);
}
}
}
每次它一直工作到 DELAY,我不知道为什么,也许 clearTimeout 不起作用,我被卡住了。我不知道为什么如果我写一些文本这么快我得到了 console.log('oh again')
【问题讨论】:
标签: javascript vue.js