function a() {
  setTimeout(b, 0);
  console.log('a');

  b().then( console.log );

}

async function b() {
  console.log('b');

  return 'c';

}

a();


위 코드의 실행 결과는?

그리고 그렇게 나오는 이유는?