如何中断(无限)流?

Tim*_*ara 3 elixir twitter-streaming-api

我正在使用ExTwitter库,并希望能够偶尔杀死对流API的调用以更改参数.

我当前的代码看起来像这样:

for tweet <- ExTwitter.stream_filter(track: terms) do
    process_tweet tweet
end
Run Code Online (Sandbox Code Playgroud)

有什么我可以做的表明我不想要更多的消息吗?

Chr*_*ord 5

您可以抛出异常并捕获它:

try do
  for tweet <- ExTwitter.stream_filter(track: terms) do
    process_tweet tweet
    if logic_to_determine_halt?, do: throw :halt
  end
catch 
  :halt -> #finished
end
Run Code Online (Sandbox Code Playgroud)