Подтвердить что ты не робот

Elixir Sleep/Wait for 1 Second

Как спать/ждать одну секунду?

Лучшее, что я мог найти, было что-то вроде этого (в iex):

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

Но оба моих предмета происходят без задержки.

4b9b3361

Ответ 1

Таймер использует миллисекунды не секунды, обновляется до:

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

Документация: таймер в документе Erlang:

Приостанавливает процесс, вызывающий эту функцию для количества времени миллисекунды, а затем возвращается в норму или приостанавливает процесс навсегда, если Время - бесконечность атома. Естественно, эта функция не возвращается немедленно.

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