[javascript] Observable과 Promise의 차이점은?
  1. 처리 방식: Promise은 단일 값 또는 에러를 처리하는 데 초점을 맞추고 있습니다. 한 번의 결과를 받고 완료되면 해당 결과를 처리하는 것이 주된 목적입니다. Observable은 여러 개의 값을 처리하는 데 초점을 맞추고 있습니다. 여러 개의 결과를 처리하고, 결과 간에 변화가 있을 때마다 이를 감지할 수 있습니다.

  2. 완료 여부: Promise은 한 번 처리하고 완료되면 종료됩니다. 처리 결과를 한 번만 얻을 수 있습니다. Observable은 계속해서 값을 발행할 수 있고, 우리가 원할 때까지 구독을 유지할 수 있습니다. 이는 계속해서 새로운 결과를 받아보며 변경 사항을 감지하는 데 유용합니다.

  3. Error 처리: Promise은 단일 에러를 처리하는 데 사용됩니다. 에러가 발생하면 처리를 중단하고 에러를 반환합니다. Observable은 에러 이벤트를 발생시킬 수 있으며, 에러가 발생하면 계속해서 새로운 값을 받아볼 수 없게 됩니다.

Observable은 가독성이 떨어지고 복잡한 상황에서 유용하며, 비동기 작업을 구독 및 처리하는 데 좀 더 강력한 도구입니다. 반면 Promise은 단일 결과를 처리하기에 간단하고 직관적입니다. 따라서 사용하는 상황에 따라 적절한 선택을 해야 합니다.

참고 자료: