💠프로그래밍 언어/JavaScript
[심화] 프로그래스 바 구현하는 방법
튤
2024. 8. 26. 18:07
728x90
프로그래스 바 구현하기
function updateProgressBar(progress) {
const barLength = 20;
const filledLength = Math.round((progress / 100) * barLength);
const emptyLength = barLength - filledLength;
const filledBar = "\x1b[103m \x1b[0m".repeat(filledLength);
const emptyBar = "\x1b[100m \x1b[0m".repeat(emptyLength);
process.stdout.write("\x1b[1A\x1b[2K");
console.log(`<${filledBar}${emptyBar}> 조금만 기다려주세요.${progress}%`);
}
function progressBar() {
let progress = 0;
const interval = setInterval(() => {
updateProgressBar(progress);
progress += 1;
if (progress > 100) {
clearInterval(interval);
}
}, 50);
}
progressBar();
⸰progressBar()
- 프로그래스가 0에서 시작하고, 해당 프로그래스 바는 0.5초마다 프로그래스를 1씩 증가하며updateProgressBar()
함수를 호출하는 함수
- 프로그래스가 100이 되면,clearInterval()
함수로 해당 이벤트를 제거
⸰updateProgressBar()
- 프로그래스 바를 콘솔창에 출력하는 함수
- 프로그래스를 100으로 나누고, 길이만큼 곱하여 해당 비율만큼filledBar
로 채우고, 남은 프로그래스 바는emptyBar
로 채움
-ANSI escape code
를 활용하여, 커서를 한 줄 위로 이동하고, 해당 줄을 지우며, 프로그래스 바를 덧쓰어는 방식으로 출력
728x90