我正在尝试使用变量来设置变量调用次数的限制。例如,我正在尝试轮询一个网址,但我只想在逃离循环之前做几次。
# Javascript file.
@poller =
poll: ->
setTimeout @request, 2500
request: ->
$.getScript($('.polling_wrapper').data('url'))
@startPoller = (limit = 3) ->
if limit == 0
alert "I'm done."
else
alert limit
poller.poll
# Javascript response from poller request.
$wrapper = $('.polling_wrapper')
$wrapper.append('rendering objects')
startPoller(limit - 1)
我很好奇的是如何在startPoller函数中减少这个限制变量,因为除了我将它初始化为(在本例中为3)之外,我无法将其变为任何其他变量。
答案 0 :(得分:1)
您应该在循环中减少限制变量。你真的没有将变量用于它的目的,是吗?而且你没有在文件的主要部分定义限制。
所以,如果我做对了,你应该这样做:
# Javascript file.
@poller =
poll: ->
setTimeout @request, 2500
request: ->
$.getScript($('.polling_wrapper').data('url'))
@startPoller = (limit = 3) ->
while (limit > 0)
alert limit
poller.poll
limit = limit - 1
# Javascript response from poller request.
$wrapper = $('.polling_wrapper')
$wrapper.append('rendering objects')
limit = 5 # random number here
startPoller(limit - 1) # startPoller will call poller.poll 4 times
没有测试过,但我希望它会给你一个想法。 :)