코드 15-4 js_engine2.html
<html>
<head>
<script src='js_engine2.js'></script>
</head>
<body>
</body>
</html>
코드 15-5 js_engine2.js
console.log('code starts')
➊
setTimeout(() => { console.log('callback executed'); }, 1000);
cpu_bound_task = () => {
const start = Date.now();
var elapsed = 0;
while (elapsed < 5000) { ➋
const end = Date.now();
const ms = (end.valueOf() - start.valueOf());
elapsed = ms;
sec = ms / 1000; ➌
if (elapsed % 1000 === 0) { ➍
console.log(sec + " sec");
}
}
}
cpu_bound_task();
➊ 원래대로라면 1초 후에 실행되어야 합니다.
➋ 경과 시간이 5초를 넘어가지 않으면 계속 while 문 안에 갇혀 있습니다.
➌ 경과 시간을 초로 변환합니다.
➍ 1초마다 경과 시간을 콘솔 창에 출력합니다.