【发布时间】:2012-12-06 05:51:15
【问题描述】:
我使用的是在 EM 之上编写的 api。这意味着要拨打电话,我需要编写如下内容:
EventMachine.run do
api.query do |result|
# Do stuff with result
end
EventMachine.stop
end
工作正常。
但现在我想在 Sinatra 控制器中使用相同的 API。我试过这个:
get "/foo" do
output = ""
EventMachine.run do
api.query do |result|
output = "Result: #{result}"
end
EventMachine.stop
end
output
end
但这不起作用。 run 块被绕过,因此返回一个空响应,一旦调用 stop,Sinatra 就会关闭。
不确定是否相关,但我的 Sinatra 应用在 Thin 上运行。
我做错了什么?
【问题讨论】:
-
This post 可能对您有所帮助。
标签: ruby sinatra eventmachine