[Javascript] RxJs: 반응형 자바스크립트
rxjs는 반응형 구조를 제공하는 대표적인 라이브러리다.
이는 옵저버 패턴을 통해 비동기 흐름을 유연하게 제공할 수 있는 구조를 제공한다.
사실, addEventListener로 이벤트를 등록하고, 콜백함수를 호출하게끔 하던 것도 다 반응형 디자인의 일종이다.
rxjs는 그걸 폭넓게 적용할 수 있게 해줄 뿐이다.
일단 깔아서 써보자

rxjs에서 가장 핵심적인 건 Observable 클래스다.
이건 create 함수로 객체를 생성할 수 있다.
그리고 옵저버를 받아서 옵저버에게 메세지를 보내는 함수를 인자로 받는다.
이러면 1초마다 구독자들에게 "foo"라는 값을 보내는 Observable 객체가 된다.
구독자는 subscribe 함수르 등록할 수 있다.
이건 성공값을 받는 함수와, 에러값을 받는 함수, 종료시에 호출될 함수를 순서대로 받는다.

이대로 실행시키면
계속 next로 값을 보내고, 구독자는 계속 그걸 받아서 출력한다.
next는 순조롭게 계속 주고받을 때만 쓰는 것이고,
error나 complete 함수가 호출되면 구독자는 더이상 데이터를 받지 않는다.
이건 에러


이건 완료다.


사실 기본 구조는 이게 다다.
이외에도 보조 함수들이나 유용한 래퍼들이 좀 있지만, 그건 천천히 다뤄보겠다.
참조
https://medium.com/@pks2974/rxjs-%EA%B0%84%EB%8B%A8%EC%A0%95%EB%A6%AC-41f67c37e028
https://rxjs.dev/api/index/class/Observable