Javascript 在coffeescript中将函数作为参数传递
我试图利用,但我正在努力如何传递函数 这是我的密码:Javascript 在coffeescript中将函数作为参数传递,javascript,function,coffeescript,Javascript,Function,Coffeescript,我试图利用,但我正在努力如何传递函数 这是我的密码: $('#inputID').on 'keyup', => query = $('#inputID').val() func = => console.debug(query) Debounce.debounceFunction func, 300, false 调用debounce函数,300和“false”的传递很好,但“func”不执行 在另一个文件中,我有: root = exports ? thi
$('#inputID').on 'keyup', =>
query = $('#inputID').val()
func = => console.debug(query)
Debounce.debounceFunction func, 300, false
调用debounce函数,300和“false”的传递很好,但“func”不执行
在另一个文件中,我有:
root = exports ? this
class Debouncer
debounceFunction: (func, threshold, execAsap) ->
timeout = null
(args...) ->
obj = this
delayed = ->
func.apply(obj, args) unless execAsap
timeout = null
if timeout
clearTimeout(timeout)
else if (execAsap)
func.apply(obj,args)
timeout = setTimeout delayed, threshold || 100
root.Debounce = new Debouncer()
在我看来,使用debounce只是定义函数。你也必须执行它
func = ->
query = $('#inputID').val()
console.debug(query)
debounceFunc = debounce func, 300, false
$('#inputID').on 'keyup', -> debounceFunc()
食谱中的例子有误导性。您希望取消公告器在注册事件处理程序时返回函数。这样,每次发生keyup事件时都会运行超时逻辑
$('#inputID').on 'keyup', Debounce.debounceFunction(func, 300, false)
谢谢Jamshid!但是去盎司函数正在执行,问题是我传递给它的函数没有被执行。我澄清了我的问题——这方面还不清楚。谢谢,谢谢,谢谢。小提琴非常有用。