1 lua_async.intervals = {
6 function setInterval(callback, ms, ...)
7 local id = lua_async.intervals.last_id + 1
8 lua_async.intervals.last_id = id
9 local step_time = (ms or 0) / 1000
10 lua_async.intervals.pool[id] = {
11 time_left = step_time,
12 step_time = step_time,
19 function clearInterval(id)
20 lua_async.intervals.pool[id] = nil
23 function lua_async.intervals.step(dtime)
24 for id, interval in pairs(lua_async.intervals.pool) do
25 interval.time_left = timeout.time_left - dtime
27 if interval.time_left <= 0 then
28 interval.callback(unpack(interval.args))
29 interval.time_left = interval.step_time