Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置并减少函数调用中的变量_Javascript_Jquery_Coffeescript - Fatal编程技术网

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

Javascript 设置并减少函数调用中的变量,javascript,jquery,coffeescript,Javascript,Jquery,Coffeescript,我试图使用一个变量来设置变量调用次数的限制。例如,我正在尝试轮询一个url,但我只想在退出循环之前轮询几次 # Javascript file. @poller = poll: -> setTimeout @request, 2500 request: -> $.getScript($('.polling_wrapper').data('url')) @startPoller = (limit = 3) -> if limit == 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)。

您应该在循环中减少限制变量。你不是真的在使用这个变量,是吗?您没有在文件的主要部分定义限制

所以,如果我做对了,你应该这样做:

# 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
我还没有测试过,但我希望它能给你一个想法。:)