js비동기

GW·2024년 7월 11일

node.js는 비동기

동기프로그래밍

  • 차례로 작업이 실행되며 완료될 때까지 중단할 수 없다.

비동기 프로그래밍

임의의 순서로 또는 동시에 작업이 실행될 수 있다.

js는 node.js에서 싱글 스레드로 동작한다.
싱글 스레드로 동작한다는 것은 하나의 작업만 처리할 수 있다는 뜻.

싱글스레드로 동작하지만 콜백, 프로미스, 어싱크 아웨이트 방법을 사용하면 비동기 처리를 할 수 있다.

콜백

함수의 파라미터로 함수를 전달, 비동기 처리가 끝났을때 전달된 함수를 실행한다. 콜백은 가독성이 좋지 못하여 유지보수 및 디버깅이 힘들다

프로미스

  • 콜백대신 사용할 수 있는 방법
  • 비동기 작업이 완료되면 결과를 반환하는 객체이다.
  • 프로미스 객체는 상태를 가지고 있으며 처음에는 대기였다가 작업이 완료되면 성공 또는 실패상태가 된다.

어싱크 어웨이트

  • 프로미스를 사용하는 비동기 작업을 동기적으로 처리하는 것처럼 코드를 작성할 수 있게 해준다.
  • async가 붙어 있는 함수를 실행할 때 await키워드를 사용하여 비동기 작업이 완료될 때까지 기다릴 수 있다.

0개의 댓글