개발공부/JavaScript

JS에서 비동기적으로 코딩하기

hani:) 2023. 12. 21. 09:43

오늘은 JS에서 비동기 처리하는 방식에 대해 한번 더 정리하고자 한다.

 

이전에 프로젝트 때문에 비동기 공부를 했었는데.. 내용이 많다..

그래서 면접 공부할 때 찾아보기가 힘들어서 핵심만 간단하게 정리하려고 한다.

 

 

비동기가 필요한 이유

자바스크립트는 싱글 스레드이기 때문에 한번에 하나의 작업만 수행 가능!

즉, 이전 것이 완료되지 않으면 다른 업무 수행 불가

(대기시간이 길어짐 = 작업 시간 길어짐 = 성능 문제 발생)

 

비동기이전 것이 완료되지 않아도 다른 업무 수행 가능!

단, 로직이 끝났을 때 원하는 동작 수행을 위해 콜백 함수를 사용하면서 콜백 지옥이 발생할 수 있음. 

(가독성 떨어짐, 로직 변경 어려움 등 문제 발생)

 

https://hani-develop-history.tistory.com/42

 

동기와 비동기_1

오늘은 동기와 비동기에 대해 공부했다. 예전 직장에 다닐 때 성능 개선을 위해 비동기 작업에 대해 공부 했던 적이 있었다. 당시에 자사 프로그램이 동기적으로 작동해서 성능 부분에서 문제가

hani-develop-history.tistory.com

 

이를 해결하기 위한 방법으로 Promiseasync & await 가 있음

 

Promise

.then을 사용하여 promise가 처리될 때까지 대기

https://hani-develop-history.tistory.com/43

 

동기와비동기_2 (Promise)

https://hani-develop-history.tistory.com/42 동기와 비동기_1 오늘은 동기와 비동기에 대해 공부했다. 예전 직장에 다닐 때 성능 개선을 위해 비동기 작업에 대해 공부 했던 적이 있었다. 당시에 자사 프로

hani-develop-history.tistory.com

 

async & await

async는 항상 promise를 반환

await는 promise가 처리될 때까지 대기

https://hani-develop-history.tistory.com/44

 

동기와 비동기_3 (Async & Await)

https://hani-develop-history.tistory.com/43 동기와비동기_2 (Promise) https://hani-develop-history.tistory.com/42 동기와 비동기_1 오늘은 동기와 비동기에 대해 공부했다. 예전 직장에 다닐 때 성능 개선을 위해 비동기

hani-develop-history.tistory.com

 

728x90