JSFiddle - React, Tailwind, and code Playground

HTML

<div></div>

JavaScript

$('div').queue('foo', [function (next) {
    setTimeout(next, 2000); // some delay
}, function (next) {
    console.log('Last function in queue');
    next();
}]).dequeue('foo');

$('div').promise('foo').done(function () {
    console.log('all done');
});