Javascript

비동기 vs 동기

raim-2 2023. 6. 28. 15:00
반응형

비동기함수 : 호출부에서 실행 결과를 기다리지 않아도 되는 함수
동기 함수 : 호출부에서 실행 결과가 리턴될 때까지 기다려야 하는 함수

비동기함수의 대표적예 : setTimeOut(), setInterval() 
⭐이 두 함수를 사용한 뒤에는 반드시 clearTimeOut(), clearInterval()로 타이머 청소해라
(spa 개발시 이 부분이 메모리 누수로 이어질 수 있음)
https://www.daleseo.com/js-timer/

👉 비동기 함수 호출시 return을 사용해 결과값을 받으려는 경우 예상치 못한 순서로 코드가 진행될 수 있다.

👉 결과값을 통해 처리할 로직을 콜백함수로 넘기는 스타일로 진행해라

최근에는 프로젝트가 복잡해짐에 따라 콜백으로 비동기처리 하는 스타일 피함
👉 콜백함수의 중첩으로 코드의 가독성이 떨어짐(콜백지옥)
👉 그래서 promise나 async/await를 이용하는 방법으로 대체한다.
https://www.daleseo.com/js-async-callback/