Package: effect
Module: TxQueue
Tries to take an item from the queue without blocking.
Example (Polling without blocking)
import { Effect, Option, TxQueue } from "effect"
const program = Effect.gen(function*() {
const queue = yield* TxQueue.bounded<number>(10)
// Poll returns Option.none if empty
const maybe = yield* TxQueue.poll(queue)
console.log(Option.isNone(maybe)) // true
yield* TxQueue.offer(queue, 42)
const item = yield* TxQueue.poll(queue)
console.log(Option.getOrNull(item)) // 42
})
Signature
declare const poll: <A, E>(self: TxDequeue<A, E>) => Effect.Effect<Option.Option<A>>
Since v2.0.0