0

我正在尝试使用变量来限制调用变量的次数。例如,我正在尝试轮询一个 url,但我只想在退出循环之前执行几次。

# 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)之外,我无法让它成为任何东西。

4

1 回答 1

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

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

于 2013-06-24T16:50:32.027 回答