scheduled-event-emitter
Schedule events to be emitted in the future
Introduction
With this module, you can schedule events to be emitted in the future.
Installation
$ npm install scheduled-event-emitter --save
API
new ScheduledEventEmitter()
Constructs a new scheduledEventEmitter instance.
Note: ScheduledEventEmitter extends the Node.js EventEmitter, so you can use all of its functions.
scheduledEventEmitter.scheduleEmit(eventName, date, payload) → timeout
Schedules an event with name eventName
. This event will be emitted on date
with payload payload
This function returns a timeout
, which can be used to cancel the event (with the clearTimeout
function).
Note: the event is scheduled in memory. So when you restart your Node.js process, the scheduled event is gone.
scheduledEventEmitter.clearSchedule()
Cancels all scheduled events
Demo's
Schedule an event on a fixed date
const ScheduledEventEmitter = ; const emitter = ;emitter;emitter; // Will write `Happy New Year!` on the first of January 2030
Schedule an event to be emitted within a certain time
const ScheduledEventEmitter = ; const emitter = ;emitter; const deadline = + 5000;emitter; // Writes `Ba Dum Tss!` to the console after 5 seconds
Cancel the emission of a single event
To cancel an event, pass the timeout
(returned by the scheduleEmit
function) to the clearTimeout function
const ScheduledEventEmitter = ; const emitter = ;emitter; const deadline = + 5000;const timeout = emitter; ; // Nothing will be written to the console (because we cancelled the event)
Cancel the emission of ALL scheduled events
Use the clearSchedule
function for this
const ScheduledEventEmitter = ; const emitter = ;emitter; const firstDeadline = + 5000;emitter; const secondDeadline = + 5000;emitter; emitter; // Nothing will be written to the console (because we cancelled ALL scheduled events)