Skip to content
On this page

2022년 05월 13일

수정하기
문서 생성 2022-05-13 23:30:56 최근 수정 2022-05-13 23:54:34

📚 오늘 도전하고, 배운 것

JavaScript

try ... catch ... finally

기본적인 문법에 대해서만 알아보고 처음으로 finally 구문까지 사용해봤다. 어떤 함수 a에서 다른 함수 b를 호출하는데 거기서 상태를 변경하는 구조였다.

const sf = new someFunc({
a: (param) => {
try {
this.b()
} catch (e) {
console.error(e)
} finally {
// 1. 상태 변경 코드가 있음
}
}
})
const b = () => {
try {
// 비동기 코드가 있음
} catch (e) {
} finally {
// 2. 상태 변경 코드가 있음
}
}

위와 같이 코드를 작성했다. b 코드는 비동기 통신을 한다. 그러고 다 끝나고 어떤 상태를 변경하도록 finally 구문에 코드(2)를 작성했는데. a 함수를 실행했을 때 왜 비동기 통신이 끝나지 않았는데 상태가 변경되지 하고 시간을 보냈다. finally 구문이 오류가 나든 나지 않든 실행되는 것인데, 말그대로 [[비동기]] 통신을 했기 때문에 a 함수는 계속 진행이 되어 finally 내부 코드를 실행한다. (1) 필요없기 때문에 삭제했다. 문법 공부를 해놓고 생각 없이 무작정 사용만하며 아까운 시간을 보낸 것 같다.. 하지만 이 시간 덕분에 확실히 알게 되어서 기분이 좋다.

🤔 학습하면서 궁금하거나 어려웠던 점

  • 분명 궁금한게 있었는데 기억이 나지 않는다!! 다음부터는 떠오르는 순간 어딘가에 메모해야겠다....

🌅 내일은 무엇을?

  • 프로그래머스 과제관 풀어보기
  • 다른 사람 코드 읽기

🖋 log

  • 하루종일 정말 바빴다. 의도치 않게 세관에 전화할 일도 생기고, 동생 병원도 따라갔다. 모두 다 아무 일 없이 잘 끝나서 상쾌한 하루였다.
  • 오늘 중요하지 않은 문제에 골똘히 고민하는 내 모습을 보았다. 만약 무언가 잘 되지 않고 나면 그 문제 탓을 할 것 같다는 생각이 들었다. 앞으론 이런 생각조차 하지 않을 것이다. 그럴 필요가 없는 것이다.