From: Elias Fleckenstein Date: Fri, 6 Aug 2021 19:15:57 +0000 (+0200) Subject: Revert "More efficient sleep() implementation" X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=bc2179e07b2abf01491a295ed067af9c41b387af;p=lua_async.git Revert "More efficient sleep() implementation" This reverts commit 643f41af5ff64405f0860cb4c86aaf733aa28cab. --- diff --git a/util.lua b/util.lua index b3fc4f7..852b933 100644 --- a/util.lua +++ b/util.lua @@ -1,5 +1,9 @@ function lua_async.yield() - lua_async.sleep(0) + local co = assert(coroutine.running(), "yield called outside of an async function") + + setTimeout(lua_async.resume, 0, co) + + coroutine.yield() end function lua_async.kill_thread() @@ -7,10 +11,9 @@ function lua_async.kill_thread() end function lua_async.sleep(ms) - local co = assert(coroutine.running(), "sleep called outside of an async function") - setTimeout(lua_async.resume, ms, co) - - coroutine.yield() + await(Promise(function(resolve) + setTimeout(resolve, ms) + end)) end function lua_async.run()