设置和减少函数调用中的变量

时间:2013-06-24 16:38:44

标签: javascript jquery coffeescript

我正在尝试使用变量来设置变量调用次数的限制。例如,我正在尝试轮询一个网址,但我只想在逃离循环之前做几次。

# 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)之外,我无法将其变为任何其他变量。

1 个答案:

答案 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

没有测试过,但我希望它会给你一个想法。 :)