Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/effection/lib/run.ts>run

Structured concurrency and effects for JavaScript
Latest
function run
import { run } from "https://deno.land/x/effection@4.0.0-alpha.1/lib/run.ts";

Execute an operation.

Run is an entry point into Effection, and is especially useful when embedding Effection code into existing code. However, If you are writing your whole program using Effection, you should prefer main.

Examples

Example 1

import { run, useAbortSignal } from 'effection';

async function fetchExample() {
  await run(function*() {
    let signal = yield* useAbortSignal();
    let response = yield* fetch('http://www.example.com', { signal });
    yield* response.text();
  });
});

Run will create a new top-level scope for the operation. However, to run an operation in an existing scope, you can use Scope.run.

Parameters

operation: () => Operation<T>

the operation to run

Returns

a task representing the running operation.