0

My code gives output (with a delay between lines):

one
three
((2 seconds delay))
two

How can I make the code synchronous so that it shows output:

one
((2 seconds delay))
two
three

The code:

console.log('one'); 
setTimeout(() => {
    console.log('two');
}, 2000);
console.log('three');
robsiemb
  • 6,157
  • 7
  • 32
  • 46

1 Answers1

2

function x() {
  var promise = new Promise(resolve => setTimeout(() => resolve("2"), 3000));
  return promise;
}
async function y() {
  console.log("1");
  var y = await x();
  console.log(y);
  console.log("3");
}
y();
Tony
  • 894
  • 4
  • 19