Simple promise utility for separate, but dependent control flow.
npm install create-async-flagSimple promise utility for separate, but dependent control flow. See example here.
#### createAsyncFlag()
> Creates a flag that can be set, unset, and wait upon.
> ``js`
> 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.`
> jsset
> const flag = createAsyncFlag();
>
> async function run() {
> // ...
> await flag.wait(); // execution will hault until flag is `
> // ...
> }
>
#### [flag].set()
> Marks the flag to be immediatly resolved, and to resolve any currently waiting promises.
> `js
> const flag = createAsyncFlag();
>
> function log() {
> flag.wait().then(() => console.log('one'));
> flag.set();
> flag.wait().then(() => console.log('two'));
> }
>
> log(); // => 'one'
> // => 'two'
#### [flag].unset()
> Marks a flag to wait until set is called again.
> `jsset
> const flag = createAsyncFlag();
>
> async function start() {
> flag.unset();
> await flag.wait();
> return; // will never return, unless is called
> }
#### [flag].isSet()
> Returns the current state of the flag.
> ``js
> const flag = createAsyncFlag();
>
> flag.isSet(); // => false
> flag.set();
> flag.isSet(); // => true