Package: effect
Module: Deferred
Returns the current completion effect as an Option. This returns
Option.some(effect) when the Deferred is completed, Option.none()
otherwise.
When to use
Use to inspect whether a Deferred is already completed and retrieve its
stored completion effect when available.
Example (Polling Deferred completion)
import { Deferred, Effect } from "effect"
const program = Effect.gen(function*() {
const deferred = yield* Deferred.make<number>()
const beforeCompletion = yield* Deferred.poll(deferred)
console.log(beforeCompletion._tag === "None") // true
yield* Deferred.succeed(deferred, 42)
const afterCompletion = yield* Deferred.poll(deferred)
console.log(afterCompletion._tag === "Some") // true
})
Signature
declare const poll: <A, E>(self: Deferred<A, E>) => Effect<Option.Option<Effect<A, E>>>
Since v2.0.0