반응형
Callback 함수란
- 다른 함수의 매개변수로 함수 객체를 전달하고, 이벤트가 발생한 수 매개변수로 전달한 함수가 다시 호출되는 것
- 파라미터로 함수를 전달하는 함수
- 다른 함수의 인자로써 이용되는 함수
- 어떤 이벤트에 의해 호출되어지는 함수
callback 사용 원칙
- 익명의 함수 사용
- 보통 콜백 함수는 호출 함수에 일회용으로 사용하는 경우가 많아서 코드의 간결성을 위해 ‘익명의 함수’를 사용
- 화살표 함수 모양의 콜백
- 한 단계 더 간결성을 얻기 위해 자바스크립트의 화살표 함수를 통해 ‘익명 화살표 함수’ 형태로 정의해 사용할 수 있음
- 함수의 이름을 넘기기
- 자바스크립트는 일급객체의 특성을 가지고 있기 떄문에, null과 undefined타입을 제외하고 모든 것을 객체로 다룸
- 그래서 매개변수에 일반적인 변수나 상수값 뿐만 아니라 함수 자체를 객체로서 전달이 가능한 것
- 콜백 함수가 여러 호출 함수에 재활용으로 자주 이용될 경우, 별도로 함수를 정의하고 함수의 이름만 호출 함수의 인자에 전달하는 방식으로 사용
callback 함수를 쓰는 이유
- node.js를 쓰면서 콜백 함수의 과정이 끝나기전에 다음 프로세스가 진행되는 것을 막기 위해
Async란
- 자바스크립트는 싱글 스레드 프로그래밍 언어여서 멀티 작업을 하기 위해선 비동기 처리 방식이 자주 쓰임
- 비동기 처리는 백그라운드로 동작되기 때문에 그 결과가 언제 반환될지 알 수 없어, 완료되면 결과를 받아 처리하기 위해 콜백 함수와 이를 개선한 프로미스 객체가 있다.
- 하지만 코드가 복잡해짐에 따라 코드를 중첩해서 사용하다가 가독성이 떨어지고 유지보수가 어려워지는 상황을 해결하기 위해 async와 await를 사용함
- async 함수는 항상 promise를 반환하는데 async함수의 반환값이 명시적으로 promise가 아니라면 암묵적으로 promise로 감싸짐
- await라는 기능은 async함수의 실행을 일시 중지하고 전달 된 promise의 해결을 기다린 다음 async함수의 실행을 다시 시작하고 완료후 값을 반환함
반응형
'웹 공부' 카테고리의 다른 글
Node.js (0) | 2023.10.17 |
---|---|
XML Http Request (0) | 2023.10.17 |
CDN&JS (0) | 2023.10.12 |
SQL Injection 기법들 (0) | 2023.10.12 |
DB&DBMS&SQL (0) | 2023.10.12 |