Skip to content

NodeJS mixin to add one-time ready event

License

Notifications You must be signed in to change notification settings

node-modules/get-ready

Repository files navigation

get-ready

NPM version CI Test coverage npm download Node.js Version

Fork from supershabam/ready

one-time ready event object.

Usage

Create ready event object.

import { Ready } from 'get-ready';

const obj = new Ready();

// register a callback
obj.ready(() => console.log('ready'));

// mark ready
obj.ready(true);

Register

Register a callback to the callback stack, it will be called when mark as ready, see example above.

If the callback is undefined, register will return a promise.

obj.ready().then(() => console.log('ready'));
obj.ready(true);

If it has been ready, the callback will be called immediately.

// already ready
obj.ready(true);
obj.ready().then(() => console.log('ready'));

ReadyEventEmitter

import { ReadyEventEmitter } from 'get-ready';

class MyClass extends ReadyEventEmitter {
  // your handler here
}

Warning: the callback is called after nextTick

Emit

Mark it as ready, you can simply using .ready(true).

You can also mark it not ready.

obj.ready(true);
// call immediately
obj.ready(() => console.log('ready'));

obj.ready(false);
obj.ready(() => throw 'don\'t run');

When exception throws, you can pass an error object, then the callback will receive it as the first argument.

obj.ready(err => console.log(err));
obj.ready(new Error('err'));

License

MIT

Contributors

Contributors

Made with contributors-img.