Javascript 设置并减少函数调用中的变量
我试图使用一个变量来设置变量调用次数的限制。例如,我正在尝试轮询一个url,但我只想在退出循环之前轮询几次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
# 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
我还没有测试过,但我希望它能给你一个想法。:)