Development

Node.js의 Callback vs. Promises vs. Async Await 차이점

주말만기다려·2022년 7월 1일·조회 1,527

1. 개요

Callback vs Promises vs Async Await 차이점은 무엇인가?


2. Callback

JavaScript에서 함수는 객체이다. 따라서 객체를 매개변수로 함수에 전달할 수 있다. 함수를 다른 함수에 매개변수로 전달하고 외부 함수 내부에서 호출할 수도 있다. 따라서 콜백은 다른 함수에 전달되는 함수이다. 첫 번째 기능이 완료되면 두 번째 기능을 실행한다.


3. Promise

JavaScript의 Promise는 실생활의 Promise와 비슷하다. 우리가 실생활에서 약속을 할 때, 그것은 우리가 미래에 무언가를 할 것이라는 보장이다. 약속은 미래에 대해서만 할 수 있기 때문이다.

약속에는 두 가지 가능한 결과가 있다. 때가 되면 지키거나 지키지 않을 것이다. 이것은 JavaScript의 Promise에서도 마찬가지이다. JavaScript에서 Promise를 정의하면 때가 되면 해결되거나 거부된다.

마치 IF 조건처럼 들리지만 그들 사이에는 큰 차이점이 있다. Promise는 작업의 비동기 결과를 처리하는 데 사용된다. JavaScript는 코드의 다른 동기 부분이 실행되기 전에 비동기 코드 블록이 완전히 실행될 때까지 기다리지 않도록 설계되었다. Promises를 사용하면 비동기 요청이 완료될 때까지 코드 블록의 실행을 연기할 수 있다. 이렇게 하면 다른 작업을 중단없이 계속 실행할 수 있다.


4. Async / Await

Await는 기본적으로 Promises의 구문 설탕(syntactic sugar)이다. 비동기 코드를 사람이 이해하기 더 쉬운 동기/절차 코드처럼 보이게 한다.

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.