JSFiddle - React, Tailwind, and code Playground

JavaScript 1.7

console.clear();

const service = {
	init: () => {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log('working...');
            resolve('Test result');
        }, 2000);
    });
	}
};

console.log('Top of script');

let closure = async () => {
  console.log('*********** begin ***********');

  let result =  await (async () => {
      const results = await service.init();
      return results;
  })();

  console.log('*********** end ***********');
	return result;
}

console.log('Promise not created yet')

let p = closure(); // creates promise

console.log('Promise created');

p.then(result => console.log('closure result:', result));


console.log('Bottom of script');