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

时间:2015-01-20 20:18:40

标签: javascript coffeescript setinterval clearinterval

我是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

我在这里遗漏了什么吗?

1 个答案:

答案 0 :(得分:0)

_counter变量在iGetCalledOnEvents函数内定义,并在函数返回后立即释放。

所以,你可以这样做:

_counter = null
iGetCalledOnEvents = ->
     ...