더북(TheBook)

부가 작용이 있는 연산

do 연산자는 부가 작용이 있는 연산 방법으로 알려져 있습니다. 이는 일반적으로 I/O, 데이터베이스 삽입, DOM에 추가 또는 파일에 쓰기 같은 부가 작용이 발생한다는 것을 말합니다. do()가 여전히 체인을 유지하는 이유는 K 조합기(K combinator)라는 FP 산물에 뿌리를 두고 있습니다. 간단히 말해, 실행은 되지만 결과를 무시하고 단지 스트림에서 값을 다음 연산자로 전달하는 함수입니다. 어떤 면에서는 어떤 함수든 호출할 수 있는 스트림을 가로채는 가교입니다. 다른 라이브러리에서는 tap() 연산자로 알려져 있습니다.7

 

이 연산자들을 사용할 수 있다는 것은 확실히 도움이 됩니다. 여러분이 작성하지 않아도 되기 때문입니다. 또한, 버그가 발생할 가능성이 줄어듭니다(이 책에서 사용된 연산자의 전체 목록은 부록 B에 나와 있습니다). 그러나 이 연산자에 전달되는 함수들은 전적으로 개발자의 몫이므로 철저히 테스트해야 합니다. 9장에서 테스트를 다시 살펴보겠습니다.

이 장에서는 RxJS와 함께 제공되는 몇 가지 핵심 연산자를 설명했습니다. 매핑과 필터링 등의 작업에 사용할 수 있는 모든 연산자를 구체적으로 열거하지는 않았으니 자세한 내용은 깃허브 또는 인터넷 참고 자료를 찾아보기 바랍니다. 연산자를 옵저버블과 함께 사용하여 스트림을 선언적으로 작성함으로써 이해하기 쉽고 확장하기 쉬운 로직 체인을 구축하는 방법과 핵심 연산자 집합도 살펴보았습니다. 또한, 플루언트 연산자를 사용하여 직관적으로 복잡한 로직을 구축하는 방법을 알아보았습니다. 이들은 주로 단일 옵저버블에 작동하고 시간 기반 작업을 도입하지 않는 연산자입니다. 다음 장에서는 미래 데이터를 처리할 수 있는 옵저버블의 시간 측면에 관해 자세히 살펴보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.