0

我尝试使用http请求和evenmachine从rest api获取数据。为此,请使用em-net-http、fibers(ruby1.9.2p290)。我的伪代码如下所示:

  EM.run do
    Fiber.new do
      api_client.get_data_1
    end.resume

    Fiber.new do
      api_client.get_data_2
    end.resume

    ...

    Fiber.new do
      api_client.get_data_n
    end.resume

    EventMachine.stop
  end

问题:加载所有数据后如何停止 EM?我计算了请求,但这是一种不好的做法。有什么模式可以做到这一点吗?我也使用了em-synchrony,但这对我来说比较慢。

谢谢

4

1 回答 1

1

使用em-http-requestmulti-http 接口,当所有请求完成时提供回调。第二个链接中提供的示例几乎可以满足您的需求。

于 2012-08-15T12:54:32.590 回答