DomEvent is a Promise-based event utility. Essentially, it wraps a Promise around a DOM event handler and resolves the Promise when the DOM event is triggered. This is especially useful when combined with other Promises to perform some action after all Promises have succeeded.
DomEvent is an ES6 module. Consequently, you may need a transpiler (Babel is a nice one) to compile DomEvent into compatible Javascript for your runtime environment.
If you're using NPM, you can install DomEvent with the following command:
$ npm install @degjs/dom-event
import domEvent from '@degjs/dom-event';
const element = document.querySelector('.some-element');
/* Get a Promise for the transitionend event on an element */
const transitionPromise = domEvent(element, 'transitionend');
/* Get another Promise for some other asynchronous task, such as an API call */
const anotherPromise = someAsyncTask();
/* Perform some action when all promises succeed */
Promise.all([transitionPromise, anotherPromise])
.then(onSuccessFunction)
.catch(onErrorFunction);Type: Element
The DOM element that the DOM event will occur on.
Type: String
The DOM event that will trigger the Promise's success.
DomEvent depends on the following browser APIs:
To support legacy browsers, you'll need to include polyfills for the above APIs.