Package: effect
Module: TxDeferred
Completes the deferred with a Result. Returns true if this was the first
completion, false if already completed.
When to use
Use to complete a TxDeferred with an already computed Result.
Example (Completing with a result)
import { Effect, Result, TxDeferred } from "effect"
const program = Effect.gen(function*() {
const deferred = yield* TxDeferred.make<number, string>()
const first = yield* TxDeferred.done(deferred, Result.succeed(42))
console.log(first) // true
const second = yield* TxDeferred.done(deferred, Result.succeed(99))
console.log(second) // false
})
Signature
declare const done: { <A, E>(result: Result<A, E>): (self: TxDeferred<A, E>) => Effect.Effect<boolean>; <A, E>(self: TxDeferred<A, E>, result: Result<A, E>): Effect.Effect<boolean>; }
Since v2.0.0