callback, promise, async/await 의 특징과 차이점

EBinY·2022년 10월 4일
  • callback, promise, async/await은 JavaScript의 비동기적 구현 방식이다
  • callback은 특정함수에 매개변수로 함수를 전달하여 나중에 호출되도록 구성되는 기능을 말한다 이는 간단한 코드에서 사용되는 경우에는 편하고 유용하지만, 코드가 조금만 길어져도 callback hell이라는 연속된 callback 구조를 이루어 가독성이 떨어지고, 사용 및 유지보수가 어려워진다, 예외처리를 위하여 if문을 구성해야 하는 단점도 존재한다
  • promise는 기본적으로 callback과 같은 기능을 하지만, 함수를 제공하는 것이 아닌 자체 메소드인 then을 호출하여 작동한다, then의 경우 같은 메소드를 연속적으로 사용 가능하고 가독성이 좋다, 또한 catch 메소드를 사용하여 간단하게 예외 처리가 가능하다
  • async/await은 가장 최근에 구현된 기능이며 promise보다 쉽게 비동기적 구조를 작성할 수 있다, 비동기 기능을 사용할 함수앞에 async를 붙여 사용해야 하며, 이렇게 선언된 함수 안에서만 await 키워드를 사용할 수 있다, await은 함수의 작업이 끝나고 결과값을 반환할 때까지 대기하며, 결과값이 리턴된 후 다음 작업으로 넘어가는 방식으로 비동기를 구현한다,
    promise를 리턴하므로 예외 처리에 catch 메소드를 사용할 수 있고, try-catch를 이용한 예외 처리도 가능하다

0개의 댓글