async function run(prog, inp) {
while(prog!='') {
while (xyz) {
...
await new Promise(r => setTimeout(r, 0));
}
while (xyz2) {
...
await new Promise(r => setTimeout(r, 0));
}
...
await new Promise(r => setTimeout(r, 0));
}
}
function onClick() {
run();
}