これが私のコードです:
EventMachine.run {
conn = EM::Protocols::HttpClient2.connect request.host, 80
req = conn.get(request.query)
req.callback { |response|
p(response.status)
p(response.headers)
p(response.content)
}
}
コールバックが発生します。つまり、ステータスなどの文字列出力を取得します。
しかし、私がやりたいのは、コールバックを起動してから繰り返すことです。毎回 URL を微調整するなど、実装する予定のロジックは他にもありますが、今のところは、次のようにしたいだけです。
- URL を取得する
- コールバックを起動する
- 繰り返す...
このパターンについての私の理解は、そのループ内のすべてが発火し、その後戻り、その後、EM.stop
.
現在、URL データを取得していますが、ハングしているように見えます。
ここで続行するには、なんらかの返品が必要ですか? ハングしていて、何度もループしていないのはなぜですか?
上記のコードブロック全体をループ do ... end で囲むと、期待どおりに動作します..これを実装する正しい方法ですか? EM.run
完了するとすべてが繰り返されると思っていたので、混乱していると思います。