Fiber.await
使い道があまりわからんmrsekut.icon
例
code:ts
import { Effect, Fiber } from "effect"
const fib = (n: number): Effect.Effect<number> =>
n < 2
? Effect.succeed(n)
: Effect.zipWith(fib(n - 1), fib(n - 2), (a, b) => a + b)
const fib10Fiber = Effect.fork(fib(10))
const program = Effect.gen(function* () {
const fiber = yield* fib10Fiber
const exit = yield* Fiber.await(fiber)
console.log(exit)
})
Effect.runFork(program)
/*
出力例:
{ _id: 'Exit', _tag: 'Success', value: 55 }