接收語句是否可能有多個超時子句,如果是,那麼正確的語法是什麼?Erlang:接收包含多個超時子句的語句
我要像做
foo(Timout1, Timeout2) ->
receive
after
Timeout1 ->
doSomething1();
Timeout2 ->
doSomething2()
end.
其中,取決於其Timeout1
或Timeout2
較小,doSomething1()
或doSomething2
被調用。但是,上面的代碼會導致語法錯誤。
如果我開始懷疑這是不可能的,那麼以合適的Erlangy方式達到相同結果的最佳方法是什麼?
在此先感謝!
爲了便於閱讀,您可能需要使用timer:sleep(Timeout)而不是空的接收語句。 – Zed
謝謝 - 我沒有包含任何接收子句,因爲它們與此問題無關。 – grifaton