Effect.repeat
成功/失敗関係なく「繰り返し実行」するために使う
docs
初回実行は必ず含まれる
成功時に繰り返すが、失敗時にはその場で終了
失敗時は、
Failure
を返す
Effect.repeatOrElse
を使うと、失敗した際に「ハンドラ(orElse)」で別の処理を続行できる
例: ログを出して既定値を返す、といったリカバリが可能
引数
Effect
Schedule (effect)
どういうルールでrepeatするかを表現したもの
e.g.
Schedule.once
なら 1回実行して、成功ならもう1回だけ追加で実行する
Effect.schedule
との違い
repeat
→ 初回実行 + スケジュールによる繰り返し
schedule
→ 初回をスキップして、スケジュール開始から実行
「最初の1回は実行したいかどうか」で使い分け