JSFiddle - React, Tailwind, and code Playground
HTML
<button class="btn btn-primary" onclick="setToDisabled(this)">Toggle</button>
JavaScript
function setToDisabled(btn) {
//log
console.log('start');
//how to force the browser to show this text immediately?
$(btn).html("TEXT CHANGED ON START OF FUNCTION");
//create a 2 seconds delay
var d1 = new Date();
var t1 = d1.getTime();
var keeprunning = true;
while(keeprunning) {
var d2 = new Date();
var t2 = d2.getTime();
var dif = t2 - t1;
if((dif / 1000) > 2) keeprunning = false;
}
//log
console.log('done');
}