1._.debounce(func, [wait=0], [options={}])
//是一个通过 lodash 限制操作频率的函数。
该函数会从上一次被调用后,延迟 wait 毫秒后调用 func 方法。
debounced(防抖动)函数提供一个 cancel 方法取消延迟的函数调用以及 flush 方法立即调用。
可以提供一个 options(选项) 对象决定如何调用 func 方法,options.leading 与|或 options.trailing 决定延迟前后如何触发(愚人码头注:是 先调用后等待 还是 先等待后调用)。
func 调用时会传入最后一次提供给 debounced(防抖动)函数 的参数。
后续调用的 debounced(防抖动)函数返回是最后一次 func 调用的结果。
getAnswer: _.debounce(
function () {
var vm = this
if (this.question.indexOf('?') === -1) {
vm.answer = 'Questions usually contain a question mark. ;-)'
return
}
vm.answer = 'Thinking...'
axios.get('https://yesno.wtf/api')
.then(function (response) {
vm.answer = _.capitalize(response.data.answer)
})
.catch(function (error) {
vm.answer = 'Error! Could not reach the API. ' + error
})
},
// 这是我们为用户停止输入等待的毫秒数
500
)