76

如何休眠/等待一秒钟?

我能找到的最好的东西是这样的(在iex中):

IO.puts "foo" ; :timer.sleep(1); IO.puts "bar"

但是我的两次看跌都没有延迟。

4

2 回答 2

103

计时器使用毫秒而不是秒,更新为:

IO.puts "foo" ; :timer.sleep(1000); IO.puts "bar"

Erlang 文档中 :timer 的文档:

将调用此函数的进程挂起 Time 毫秒数,然后返回 ok,如果 Time 是原子无穷大,则永久挂起进程。自然,此函数不会立即返回。

http://erlang.org/doc/man/timer.html#sleep-1

于 2016-05-09T01:22:47.010 回答
69

从 Elixir 1.3 开始,您可以使用Process.sleep/1

Process.sleep(1000)

参数以毫秒为单位。

于 2018-03-25T00:08:08.227 回答