3
Net::HTTP
支持異步語法嗎?Ruby異步網:: HTTP?
我正在尋找類似下面的代碼。
該塊將被調用主線程上Net::HTTP
之後任一接收到來自服務器的響應(在這種情況下,error
將nil
)或遇到連接到服務器的錯誤(在這種情況下response
將nil
) 。
Net::HTTP.get('http://stackoverflow.com') do |response, error|
if error
puts "Connection error: #{error.message}"
elsif response.status_code != HTTPOK
puts "Unexpected status code: #{response.status_code}"
puts response.body
else
puts "Success!"
puts response.body
end
end
以下問題提供了答案,但我正在尋找基於塊的解決方案。
這是一個很好的例子,但在測試一個雙重否定似乎是一個壞主意。測試'== HTTP_OK'然後'else'會更容易遵循。現在成功的條件是「如果不行」。 – tadman 2012-07-24 17:39:21
@tadman謝謝!你是對的,解決這個問題。我想我儘可能地反映了op的代碼結構。 – 2012-07-24 18:40:06