【问题标题】:Elixir Sleep / Wait for 1 SecondElixir 睡眠/等待 1 秒
【发布时间】:2016-09-03 13:07:12
【问题描述】:

如何休眠/等待一秒?

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

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

但是我的两个 put 都没有延迟。

【问题讨论】:

  • 在 Elixir 1.3 中你也可以使用 Process.sleep 而不是调用 erlang。

标签: elixir elixir-iex


【解决方案1】:

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

Process.sleep(1000)

参数以毫秒为单位。

【讨论】:

    【解决方案2】:

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

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

    Erlang 文档中 :timer 的文档:

    暂停调用此函数的进程的时间量 毫秒,然后返回 ok,或者如果 时间是无限的原子。自然,这个函数不会返回 马上。

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

    【讨论】:

    • 定时器模块中有一些有用的助手来指定时间间隔。例如::timer.sleep(:timer.seconds(1))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 2018-11-16
    • 2017-07-02
    相关资源
    最近更新 更多