위 코드의 결과가 1,2가 아닌 2,1인 이유는 무엇입니까?
작업 대기열에 setTimeout이 먼저 추가되어 있지 않나요?
黄舟2017-06-26 10:59:47
구체적으로 말하면 setTimeout
有一个4ms的最短时间,也就是说不管你设定多少,反正最少都要间隔4ms才运行里面的回调(当然,浏览器有没有遵守这个规范是另外一回事儿)。而Promise
의 비동기식에는 이러한 문제가 없습니다.
구체적인 구현 측면에서 두 비동기 대기열은 서로 다릅니다. Promise
가 위치한 비동기 대기열의 우선순위가 더 높습니다.
자세한 내용은 Promise의 JavaScript에서 이벤트 루프, 작업 및 마이크로태스크 살펴보기