0

我正在编写一个 Rails 函数(应该)

  1. 导入所有用户 '/me/music'
  2. 以 50 个为一组更详细地查找每个页面(FB 批处理 API)

导入我工作得很好。批处理与我一起将循环限制为前 50 个,但我不确定如何使用偏移量重新运行循环。这是我当前的循环:

Koala::Facebook::BatchOperation.instance_variable_set(:@identifier, 0)
results = @graph.batch do |batch_api|
  @music.each do |artist|
    if(i == 50)
    break
    end
    batch_api.get_object(artist["id"])
    i=i+1
  end
end

显然@music[0..50] do |artist|不是有效的语法,所以那里没有运气。

4

1 回答 1

3

对于 googlers,这就是我解决问题的方法:

artist_ids = music.each do |artist|
  artist["id"]
end
Koala::Facebook::BatchOperation.instance_variable_set(:@identifier, 0)
artist_ids.in_groups_of(50) do |artists|
  i=0
  results = graph.batch do |batch_api|
    for artist in artists do
      # ((Your code))
      i=i+1
    end
  end
  results.each do |artist|
      # ((Your code))
  end
end
于 2012-04-20T15:40:34.527 回答