30day - Observable

이주영·2022년 12월 13일
0

Observable

프로그래밍 방식에는 함수형 프로그래밍과 반응형 프로그래밍이 있다.
기능들을 만들어놓고, 내가 규칙에 맞게 만든 기능을 체이닝하는 방식으로 코드를 만드는 것을 함수형 프로그래밍한다고 한다.
함수형 프로그래밍은 인풋에 비해 아웃풋이 동일해 편리하고 안전하다.
반응형 프로그래밍은 어떤 특정한 입력에 반응해서 실행되는 것이다.

Promise는 비동기 작업을 도와주는 역할을 한다.
Observable은 연속적인 비동기 작업을 도와준다.

연속적인 비동기 작업은 무엇일까?

예를 들어 게시판 3페이지를 클릭하고 나서 5페이지를 클릭한다고 하면 3페이지에 대한 요청이 들어가고 나서 5페이지에 대한 요청이 들어간다.
그런데 만약 엄청나게 빠른 속도로 3,5를 클릭하면 백엔드에서 페이지 요청을 처리하는 속도가 달라 응답은 마지막에 누른 5페이지가 먼저 나오고 나서 3페이지가 뒤늦게 나올 수 있다. 내가 클릭한 페이지는 5페이지인데 보이는 화면은 3페이지인 것이다.
이런 경우 5페이지가 나오게 되면 3페이지 요청은 취소가 되어야 한다. 이런 것들을 연속적인 비동기 작업이라고 하고, 이런 것들을 처리해주는 것이 반응형 프로그래밍이다.

Observable로 프로그래밍이 되어 있는 라이브러리가 ApolloClient이다.
Observable은 언제 사용할까?
1. 연속적인 페이지 클릭
2. 연속적인 검색어 변경

0개의 댓글