【发布时间】:2010-11-24 01:21:24
【问题描述】:
receive 语句是否可以有多个超时子句,如果可以,正确的语法是什么?
我想做类似的事情
foo(Timout1, Timeout2) ->
receive
after
Timeout1 ->
doSomething1();
Timeout2 ->
doSomething2()
end.
根据Timeout1 或Timeout2 中的哪一个更小,调用doSomething1() 或doSomething2。但是,上面的代码会导致语法错误。
如果我开始怀疑这是不可能的,那么以合适的 Erlangy 方式实现相同结果的最佳方法是什么?
提前致谢!
【问题讨论】:
-
为了可读性,您可能希望使用 timer:sleep(Timeout) 而不是空的接收语句。
-
谢谢 - 我没有包含任何接收子句,因为它们与这个问题无关。
标签: erlang