【发布时间】:2014-04-03 23:53:58
【问题描述】:
我希望立即执行 api 调用,然后在 1 秒后,然后是 2 秒,以此类推,以 1 秒到 10 秒的增量递增。
我尝试过这样的事情:
Meteor.startup ->
counter = 1000
Meteor.setInterval (->
Meteor.call "call_url", url, (err, result) ->
...
if counter < 10000
counter += 1000
console.log counter
), counter
当我的计数器递增时,日志每秒钟准确一次,这意味着 setInterval 不会跟踪该值。
我认为处理此问题的唯一方法是让 9 个 setTimeout 在不同时间调用 api,然后在所有超时后启动一个 Meteor.setInterval .. . 听起来很丑。
关于如何以干净的方式执行此操作的任何建议?用户在刚连接到页面时看到频繁的更新很重要,但如果他决定让它打开一段时间,则不需要如此频繁地执行该 api 查询。
【问题讨论】:
标签: coffeescript meteor settimeout setinterval