我有以下功能:
<link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script>
<select style="width: 200px;" id="single">
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
</select>
<button type="button" data-target="#single">Search for 'Arizona'</button>
<br /><br />
<select style="width: 200px;" id="multiple" multiple="multiple">
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
</select>
<button type="button" data-target="#multiple">Search for 'Arizona'</button>
我收到错误:
def join(id) do
if Node.connect(:"#{id}@127.0.0.1") do
send :global.whereis_name(id), {:join, id}
end
end
我假设是因为(ArgumentError) argument error
:erlang.send(:undefined, ...
进行了一些信息收集,而当我打电话给Node.connect
时它尚未完成。如果我确实投入:global.whereis_name
,我就不会收到错误。有更优雅的解决方案吗?我想重复:timer.sleep(1000)
直到成功或达到超时。
编辑:
我应该提一下,我已经注册了一个名为:global.whereis_name
的节点。
答案 0 :(得分:8)
您可以在:global.sync()
:global.whereis_name(id)