我有一个循环来自外部API的数据的枚举器。 API请求在完成循环时通知它。当统计员被允许去数据时,这很容易:如何在Ruby中“关闭”枚举器?
def api_enum
return enum_for(:api_enum) unless block_given?
loop_on_api_calls { |thing| yield thing }
notify_api_that_i_am_done
end
但是这种情况呢?
api_enum.each do |thing|
do_stuff(thing)
break
end
的break
意味着我不会打电话给notify_api_that_i_am_done
。我怎样才能确保notify_api_that_i_am_done
被调用?有这样的好模式吗?
“break notify_api_that_i_am_done”有什么问题? – spickermann
@spickermann我真的不知道那是一件事。 – abeger