Skip to content

use

use<E, A, B>(f): (resource) => TaskResult<E, B>

Defined in: Core/Resource.ts:92

Acquires the resource, runs f with it, then releases it.

Release always runs, even when f returns an error. If acquire fails, f and release are both skipped and the error is returned.

E

A

B

(a) => TaskResult<E, B>

(resource): TaskResult<E, B>

Resource<E, A>

TaskResult<E, B>

const rows = await pipe(
  dbResource,
  Resource.use((conn) => runQuery(conn, "SELECT * FROM users"))
)();
// conn is closed whether the query succeeds or fails