setTimeout이 가능한건 비동기에 non-blocking model 이라 가능
function first() {
console.log('First');
}
setTimeout(first, 1000); // 1000ms(1초) 뒤에 first 함수를 실행해준다.
console.log('Middle');
console.log('Last');
// Print: Middle
// Last
// First
promise
const result1 = promise.resolve('result1 resolved')
const result2 = new promise((resolve) => ('result2 resolved'))
result1.then((message) => {
console.log(message)
})
result2.then((message) => {
console.log(message)
})
// result1 resolved
// result2 resolved