let fun1 = async function () { let someJobIsDone = true; let i = 0; while (i < 100000000) { i++; } return new Promise((resolve, reject) => { if (someJobIsDone) { resolve('ok'); } else { reject('bad'); } }); }; fun1() .then(msg => console.log(msg)) .catch(err => console.error(err)); console.log("Hi");