Effect.onInterrupt
from Effect.interrupt
Fiberが中断されたときに実行されるcleanup処理を書ける
例
Fiberが中断されたときにログを出力
code:ts
import { Console, Effect } from "effect"
const handler = Effect.onInterrupt((_fibers) =>
Console.log("Cleanup completed")
)
使用例
code:ts
const interruption = Console.log("Task interrupted").pipe(
Effect.andThen(Effect.interrupt),
handler
)
Effect.runFork(interruption)
code:result
Task interrupted
Cleanup completed