web-dev-qa-db-ja.com

エリクサースリープ/ 1秒間待つ

1秒間スリープ/待機する方法は?

私が見つけた最高のものは、このようなものでした(IEXで):

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

しかし、私のプットは両方とも遅滞なく起こります。

52
newUserNameHere

タイマーは秒ではなくミリ秒を使用し、次のように更新します。

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

Erlangのドキュメントにある:timerのドキュメント:

この関数を呼び出すプロセスをミリ秒単位の時間中断してからokを返すか、Timeがatom無限の場合はプロセスを永久に中断します。当然、この関数はすぐには戻りません。

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

73
Jeremie Ges

Elixir 1.3以降では、Process.sleep/1を使用できます:

Process.sleep(1000)

引数はミリ秒単位です。

32