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