Fiber.await
Fiber (Effect)の完了を待つとともに、その終了状態をより詳細に取得する
戻り値は Exit<A, E>
https://effect.website/docs/concurrency/fibers/#awaiting-fibers
使い道があまりわからんmrsekut.icon
Fiber.joinでええやん
例
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 }