但在这种情况下,输出为:2,1,但不是1,2.我该如何解决?
EM.synchrony do update_ads ads_hash,invalID_ads,ip,params,user_agent,request EM::Synchrony::FiberIterator.new([1,2,3]).each do |i| # some http requests end puts "1" # EventMachine.stop end puts "2"
谢谢你提前!
解决方法 EM由于其异步性质而无法保证执行顺序. 1仅在FiberIterator完成其工作后执行,而2则先执行.如果您需要在1之后执行2,请将其放在EM.synchrony块中.UPD:
x = EM.synchrony do # update_ads ads_hash,request EM::Synchrony::FiberIterator.new([1,3]).each do |i| # some http requests end "1"endputs xputs "2"总结
以上是内存溢出为你收集整理的ruby-on-rails – 瘦服务器中的em.synchrony在需要使用后返回结果全部内容,希望文章能够帮你解决ruby-on-rails – 瘦服务器中的em.synchrony在需要使用后返回结果所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)