Effect.retry
失敗時に再実行するために使う
引数
Effect
どういうルールでretryするかを表現したもの
例
code:ts
let count = 0
// Simulates an effect with possible failures
const task = Effect.async<string, Error>((resume) => {
if (count <= 2) {
count++
console.log("failure")
resume(Effect.fail(new Error()))
} else {
console.log("success")
resume(Effect.succeed("yay!"))
}
})
// Define a repetition policy using a fixed delay between retries
const policy = Schedule.fixed("100 millis")
const repeated = Effect.retry(task, policy)
実行するtask (effect)と、retryのポリシー(schedule)を引数に取る