lua 中是否有一种库可以执行 `setTimeout`?

我试图使用 RxLua 的 TimeoutScheduler 来调度一个任务。但这导致 lua 抱怨说没有这样的模块。

-- minimalexample.lua
scheduler = require('rx').TimeoutScheduler.create()
scheduler:schedule(function() return, 1000)

结果:

lua: ./rx.lua:1913: module 'timer' not found:
...
stack traceback:
  [C]: in function 'require'
  ./rx.lua:1913: in method 'schedule'
  timedtest.lua:7: in main chunk
  [C]: in ?

我检索了网络,但没有找到。也在项目页面上 发布了一个问题

需要哪个模块?我做错了什么吗?

点赞
用户6610
用户6610

RxLua 模块的维护者对此非常敏感:

https://github.com/bjornbytes/RxLua/issues/29#issuecomment-420311383

这取决于 luvit/timer 模块。

2018-09-12 06:41:26
用户9137020
用户9137020

标准 Lua 中不存在 waitsleep 函数。然而,Luvit 拥有一个 timer 模块,你可以使用它来实现相同的功能。

local timer = require('timer')

timer.setTimeout(delay, callback, ...) -- 在一定的毫秒延迟后执行一次回调函数。可变参数在执行时传递给回调函数。

2018-09-12 14:25:17