[JavaScript] RxJS 없이 RxJS 이해하기.

6662 단어 JavaScriptRxJS

개시하다


이 글은 RxJS의 사용법을 해설한 글이다.
하지만 RxJS는 나오지 않았다.
어어
잘 모른 채 RxJS를 쓰기 시작해 고민하는 사람(← 자신)을 위한 재입문 기사다.
두 가지 주제를 썼다.
  • subscribe 왜 안하고 가만히 있냐고
  • 여러 번subscribe, 왜 여러 번
  • 이 보도의 등장인물


    프로듀서



    프로듀서가 의뢰를 받고 무슨 일을 했는지.
    나는 언제 일을 완성할 수 있을지 모르겠다.
    잘하면 알려줘.

    옵서버



    관찰자는 일의 결과를 받을 것이다.
    상황에 따라 세 개의 직무를 맡다.
    정상적인 결과의 임무를 수락하고, 실패한 결과(오류)의 임무를 수락하며, 작업이 모두 끝난 임무를 수락한다.

    감시 파일



    관찰자는 프로듀서와 관찰자의 중간자이다.
    관찰자의 주문을 받은 후 프로듀서를 일하게 하고 작업 결과를 관찰자에게 맡긴다.subscribe 방법이 있습니다.
    이번 키모입니다.

    이루어지다


    RxJS를 이해하기 위해 간단하게 따로 설치해 보세요.
    우선 징그러운 관찰자입니다.

    감시 실현


    관찰원은 subscribe의 방법으로 관찰원의 주문을 받을 수 있다.
    작업 내용은 구조기 파라미터로 받아들인 프로듀서에게 맡겼다.subscribe 방법의 내용은 이후에 실시한다.
    class オブザーバブル {
        constructor(プロデューサー) {
            this._プロデューサー = プロデューサー;
        }
    
        subscribe(オブザーバー) {
          // 後で
        }
    }
    

    모니터 표시줄 설치


    관찰원은 nexterrorcomplete의 세 가지 방법을 가진 대상이다.
    정상적인 결과, 실패 결과 (오류), 작업이 끝난 것을 받아들이는 데 쓰인다.
    const オブザーバー = {
        next: function(結果) {},
        error: function(エラー) {},
        complete: function() {},
    };
    

    프로듀서의 실복


    프로듀서는 단순한 함수일 뿐이다.
    관찰원을 매개 변수로 삼아 자신의 업무 결과를 상대방에게 건네주다.
    일이 모두 정상적으로 끝난 후에 당신을 complete라고 부르고, 중간에 무슨 문제가 있으면 당신을 error라고 부릅니다.
    실제 개발 현장에서 프레임 작업 등 미리 준비한 프로듀서를 활용하고 싶다.
    function プロデューサー(オブザーバー) {
        try {
            オブザーバー.next(仕事1());
            オブザーバー.next(仕事2());
            オブザーバー.next(仕事3());
            オブザーバー.complete();
        } catch (e) {
            オブザーバー.error(e);
        }
    }
    

    사용법


    상술한 실시 절차를 사용하는 장면은 이렇다.
    감시 대상을 만들고 관찰원을 subscribe 방법으로 전달합니다.
    const observable = new オブザーバブル(プロデューサー);
    
    observable.subscribe(オブザーバー);
    

    subscribe 방법의 설치


    이것은 다음 감시 프로그램 subuscibe 방법의 설치입니다.
    이번 콘셉트의 키모입니다.
    키모지만 내용은 간단하다.그냥 프로듀서 부르는 거예요.
    class オブザーバブル {
        constructor(プロデューサー) {
            this._プロデューサー = プロデューサー;
        }
    
        subscribe(オブザーバー) {
            this._プロデューサー(オブザーバー);
        }
    }
    

    총결산


    아니오subscribe면 프로듀서라고 부르지 않겠어요.
    매번 subscribe 할 때마다 프로듀서가 나를 부른다.

    다음은......!?

  • subscribe를 하지 않고도 행동할 수 있는 프로듀서가 있다고 합니다
  • 여러 곳에서 프로듀서를 한 번 하는 방법이 있다고 합니다
  • 참조 링크

  • ReactiveX 공식 문서
  • RxJS 공식 문서
  • inDepth.dev
  • Angular in Depth
  • 조급한 사람
  • 좋은 웹페이지 즐겨찾기