【发布时间】:2018-02-23 15:32:54
【问题描述】:
我有一个循环访问来自外部 API 的数据的枚举器。当我完成循环时,API 请求我通知它。当枚举器被允许去直到它用完数据时,这很容易:
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 老实说,我不知道那是一回事。
标签: ruby enumerable enumerator