young
is this it
young
전체 방문자
오늘
어제
  • 분류 전체보기 (143)
    • 웹_프론트엔드 (1)
      • 로드맵 챌린지 (73)
      • Svelte (2)
      • React (6)
      • JavaScript (8)
      • TypeScript (2)
      • HTML+CSS (5)
    • 웹_백엔드 (0)
      • Django (0)
    • 빅데이터 (33)
      • R (30)
      • Python (2)
    • 기타 (11)
      • git (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • bem
  • Regex
  • 버전관리
  • vcs
  • 보안취약점
  • css네이밍
  • 태스크러너
  • ggplot
  • 대칭키
  • 인증
  • rstudio지도정보
  • 암호화
  • ggmap()
  • 구글맵api
  • 공개키
  • css후처리기
  • 웹보안
  • form
  • ssl
  • owasp

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
young

is this it

리액티브 프로그래밍 라이브러리 - RxJS란?
웹_프론트엔드/로드맵 챌린지

리액티브 프로그래밍 라이브러리 - RxJS란?

2022. 2. 14. 08:57
반응형

RxJS (Reactive Extensions for JavaScript)란?

RxJS는 Angular에 내장되어 있는 라이브러리로, JavaScript에서 리액티브 프로그래밍을 지원하기 위해 만들어졌다. 리액티브 프로그래밍이란 이벤트나 배열 같은 데이터 스트림과 전파를 중심으로 하여 변화에 유연하게 반응하는 프로그래밍 패러다임을 말한다. RxJS는 Observable 시퀀스를 이용하여 비동기와 이벤트 기반의 프로그래밍을 구현할 수 있게 해준다.

 

RxJS 로고

 

RxJS의 주요 키워드

Observable

RxJS는 Observer 패턴을 적용한 Observable 이라는 객체를 중심으로 동작한다. Observable은 향후 얻게될 값이나 이벤트를 호출할 수 있는 콜렉션에 대한 아이디어를 표현한다.

 

Observer

Observable이 전달한 값을 어떻게 받을지에 대한 정보가 들어있는 콜백 모음이다. 3가지 메소드가 있다.

  1. next: Observable 구독자에게 데이터를 전달한다.
  2. complete: Observable 구독자에게 완료 되었음을 알린다. next는 더 이상 데이터를 전달하지 않는다.
  3. error: Observable 구독자에게 에러를 전달한다. 이후에 next 및 complete 이벤트가 발생하지 않는다.

 

Subscription

Observable의 실행을 나타낸다. 주로 실행을 취소하는데 가장 유용하다.

 

Operators

순수 함수이며 map, filter, concat, reduce 같은 기능을 다루면서 함수형 프로그래밍을 가능케 한다.

 

Schedulers

동시성(concurrenct)을 컨트롤하기 위해 중앙화된 디스패처로, 이벤트 루프에 어떤 순서로 처리될지로 구현되었다. 3가지 종류가 있다.

  1. AsyncScheduler
    setTimeout과 비슷하다.
    asyncScheduler.schedule(() => console.log(‘async’), 2000);
  2. AsapScheduler
    asapScheduler.schedule(() => console.log(‘asap’));
    다음 이벤트 루프에 실행
  3. QueueScheduler
    scheduler에 전달된 state를 처리한다.
반응형

'웹_프론트엔드 > 로드맵 챌린지' 카테고리의 다른 글

프레임워크 - Vue.js  (0) 2022.02.16
상태 관리 프레임워크 - NgRx란?  (0) 2022.02.15
프레임워크 - AngularJS와 Angular 2  (0) 2022.02.11
상태 관리 라이브러리 - MobX란?  (0) 2022.02.10
상태 관리 라이브러리 - Redux 리덕스란?  (0) 2022.02.09
    '웹_프론트엔드/로드맵 챌린지' 카테고리의 다른 글
    • 프레임워크 - Vue.js
    • 상태 관리 프레임워크 - NgRx란?
    • 프레임워크 - AngularJS와 Angular 2
    • 상태 관리 라이브러리 - MobX란?
    young
    young

    티스토리툴바