0.1.1 • Published 6 years ago

create-async-flag v0.1.1

Weekly downloads
230
License
MIT
Repository
github
Last release
6 years ago

create-async-flag

Simple promise utility for separate, but dependent control flow. See example here.

API

createAsyncFlag()

Creates a flag that can be set, unset, and wait upon.

import createAsyncFlag from 'create-async-flag';

const flag = createAsyncFlag();

[flag].wait()

Creates a promise that will only resolve once set, or resolve immediatly if already set.

const flag = createAsyncFlag();

async function run() {
  // ...
  await flag.wait(); // execution will hault until flag is `set`
  // ...
}

[flag].set()

Marks the flag to be immediatly resolved, and to resolve any currently waiting promises.

const flag = createAsyncFlag();

function log() {
  flag.wait().then(() => console.log('one'));
  flag.set();
  flag.wait().then(() => console.log('two'));
}

log(); // => 'one'
       // => 'two'
<br>

[flag].unset()

Marks a flag to wait until set is called again.

const flag = createAsyncFlag();

async function start() {
  flag.unset();
  await flag.wait();
  return; // will never return, unless `set` is called
}

[flag].isSet()

Returns the current state of the flag.

const flag = createAsyncFlag();

flag.isSet(); // => false
flag.set();
flag.isSet(); // => true
0.1.1

6 years ago

0.1.0

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago