]> git.lizzy.rs Git - lua_async.git/blob - util.lua
e7c6cbf2b216dfdb350258dddeb5cb3dab4b8152
[lua_async.git] / util.lua
1 function lua_async.yield()
2         await(Promise(function(resolve)
3                 setImmediate(resolve)
4         end))
5 end
6
7 function lua_async.kill_thread()
8         coroutine.yield(true)
9 end
10
11 function lua_async.sleep(ms)
12         await(Promise(function(resolve)
13                 setTimeout(resolve, ms)
14         end))
15 end
16
17 function lua_async.run()
18         local last_time = os.clock()
19
20         while true do
21                 local current_time = os.clock()
22                 local dtime = current_time - last_time
23                 last_time = current_time
24
25                 lua_async.step(dtime)
26         end
27 end