Comment dormir/attendre une seconde?
Le mieux que j'ai pu trouver était quelque chose comme ça (dans iex):
IO.puts "foo" ; :timer.sleep(1); IO.puts "bar"
Mais les deux de mes coups arrivent sans délai.
Le minuteur utilise des millisecondes et non des secondes, mettez à jour pour:
IO.puts "foo" ; :timer.sleep(1000); IO.puts "bar"
Documentation de: timer dans la doc d'Erlang:
Suspend le processus en appelant cette fonction pour la quantité de temps en millisecondes, puis renvoie ok, ou suspend le processus pour toujours si Time correspond à l'infini atom). Naturellement, cette fonction ne retourne pas immédiatement.
Depuis Elixir 1.3, vous pouvez utiliser Process.sleep/1
:
Process.sleep(1000)
L'argument est en millisecondes.