Hyperlinkv0.8.0-beta.28

Fiber

Fiber.interruptconsteffect/Fiber.ts:346
<A, E>(self: Fiber<A, E>): Effect<void>

Interrupts a fiber, causing it to stop executing and clean up any acquired resources.

When to use

Use when you need to cancel a forked fiber and wait for its cleanup to complete.

Details

The returned Effect completes only after the interrupted fiber has completed.

Gotchas

Interruption is cooperative. A fiber can continue running while it is inside uninterruptible work or finalizers.

Example (Interrupting a fiber)

import { Effect, Fiber } from "effect"

const program = Effect.gen(function*() {
  const fiber = yield* Effect.forkChild(
    Effect.delay("1 second")(Effect.succeed(42))
  )
  yield* Fiber.interrupt(fiber)
  console.log("Fiber interrupted")
})
interruptioninterruptAsawait_
Source effect/Fiber.ts:3461 lines
export const interrupt: <A, E>(self: Fiber<A, E>) => Effect<void> = effect.fiberInterrupt
Referenced by 4 symbols