Hyperlinkv0.8.0-beta.28

TxDeferred

TxDeferred.pollconsteffect/TxDeferred.ts:190
<A, E>(self: TxDeferred<A, E>): Effect.Effect<Option<Result<A, E>>>

Reads the current state of the deferred without retrying. Returns None if not yet completed.

When to use

Use to inspect a TxDeferred without retrying when it is not completed yet.

Example (Polling a deferred)

import { Effect, Option, Result, TxDeferred } from "effect"

const program = Effect.gen(function*() {
  const deferred = yield* TxDeferred.make<number>()
  const before = yield* TxDeferred.poll(deferred)
  console.log(Option.isNone(before)) // true

  yield* TxDeferred.succeed(deferred, 42)
  const after = yield* TxDeferred.poll(deferred)
  console.log(after) // Some(Success(42))
})
getters
export const poll = <A, E>(self: TxDeferred<A, E>): Effect.Effect<Option<Result<A, E>>> => TxRef.get(self.ref)