Promise.resolve().then()은 비동기로 수행되는게 맞나요

let i = 0; let start = Date.now(); function count() { do { i++; } while (i % 1e6 != 0); if (i == 1e9) { alert("처리에 걸린 시간: " + (Date.now() - start) + "ms"); } else { // setTimeout(count); // 브라우저 동작 안멈춤 // Promise.resolve().then(count) //브라우저 동작 멈춤 } } count(); 위 코드내 (1),(2) 주석을 각각 풀어서 브라우저 콘솔창에 실행했을떄 (1)은 코드가 수행되는동안 브라우저 동작이 멈추지않는반면에 (2)는 수행되는동안 브라우저가 멈추게 되는데요, 그렇단 건 Promise.resolve().then() 이 비동기로 동작하지 않는다는건데 console.log('시작') Promise.resolve().then(()=>{console.log('promise')}) console.log('끝') 위 코드 실행시 만약 비동기로 동작하지 않는다면 시작 -> promise -> 끝 순으로 출력돼야 할텐데 왜 시작,끝,promise 순으로 비동기방식으로 출력되는건가요?

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 2월 9일 오전 5:59

조회 87

댓글 1