JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://rawgit.com/Addvilz/eventmachine/master/dist/eventmachine.js?v1.1.1"></script>
<button type="button" id="raw_event">Simple event</button>
<button type="button" id="em_event">EM event</button>
<button type="button" id="reset">Reset</button>
<div id="content"></div>
<div id="result"></div>
JavaScript
$(document).ready(function () {
var em = EventMachine({});
// This function simulates 2 seconds of work
var longRunningFunction = function (isDirect) {
var date = Date.now();
var curDate = null;
do {
curDate = Date.now();
} while (curDate - date < 2000);
$('#result').html(isDirect ? 'Long running done' : 'Long running done with EM');
};
em.on('event', longRunningFunction);
$('#raw_event').click(function () {
$('#content').html('Pressed raw');
// Notice this is placed after the HTML update...
longRunningFunction(true);
});
$('#em_event').click(function () {
$('#content').html('Pressed EM');
em.emmit('event', false);
});
$('#reset').click(function () {
$('#content').html('');
$('#result').html('');
});
});