JSFiddle - React, Tailwind, and code Playground

HTML

<button id="foo">Click Me!</div>

JavaScript

function waitForFiveSeconds() {
    var startTime = new Date();
    while (new Date() - startTime < 5000) {}
}
$('#foo').click(function handler() {
    $('#foo').off('click');
    console.log('Hello, World!');
    waitForFiveSeconds();
    // Defer rebinding the handler, so that any clicks that happened while
    // it was unbound get processed first.
    setTimeout(function () {
        $('#foo').click(handler);
    }, 0);
});