coffeeScript 中 clearInterval 的奇怪行为(不在范围内?)

Strange behavior for clearInterval in coffeeScript (not in scope?)

我是 coffeeScript 的新手,在执行本应相当简单的操作时遇到了一些问题:

iGetCalledOnEvents = ->
    _counter

    if condition1
        _counter = setInterval( =>
            if condition2
                # do some stuff
            else
                clearInterval(_counter) # this properly clears the interval
        , 500)
    else
        console.log _counter # this always returns undefined
        clearInterval(_counter) # hence this fails and my world breaks

我是不是漏掉了什么?

_counter 变量在 iGetCalledOnEvents 函数中定义,并在函数 returns.

后立即释放

所以,你可以这样做:

_counter = null
iGetCalledOnEvents = ->
     ...