Effect CommunityEC
Effect Community3y ago
14 replies
whatplan

Effect with Fiber Interruption Resulting in Sequential Cause

const program = Effect.gen(function* (_) {
  const fiber = yield* _(
    Console.log("hi"),
    Effect.repeat(Schedule.spaced("100 millis")),
    Effect.fork
  );
  yield* _(Effect.sleep("1 seconds"));
  const result = yield* _(Fiber.interrupt(fiber));
  console.log(result);
});

await Effect.runPromise(program);

...
hi
{
  _id: "Exit",
  _tag: "Failure",
  cause: {
    _id: "Cause",
    _tag: "Sequential",
    errors: []
  }
}


why does this result in a Sequential cause and not a Interrupt cause?
Was this page helpful?