我使用了一個API,寫在EM之上。這意味着撥打電話,我需要寫下如下內容:如何從Sinatra應用程序中使用EventMachine?
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上運行。
我在做什麼錯?
本帖](http://stackoverflow.com/a/3007083/1177119)可能是對你有所幫助。 –
看到此信息: http://stackoverflow.com/questions/2999430/any-success-with-sinatra-working-together-with-eventmachine-websockets – Poul