RXJS 시간의 operator 요약 정보

16968 단어 Rxjstech

전제 조건


Observable에 대해 배워야 합니다.

timer

  • 제작 observable
  • 지정된 기간 동안 숫자 emit

  • //1秒後にemitされるobservableを作成
    const source = timer(1000);
    source.subscrive((val) => console.log(val));
    
    0;
    

    interval

  • 제작 observable
  • 지정된 시간 단위로 연속적으로 숫자 emit

  • //1秒ごとにemitされるobservableを作成
    const source = interval(1000);
    source.subscribe((val) => console.log(val));
    
    //unsubscribeするまで無限にemitされる
    0,1,2,3,4,5,6.....
    

    auditTime

  • 지정된 기간 동안 값을 무시합니다.
  • 기간 구분 시 이전 출력 값
  • //1秒たつと出力さ荒れるobsservable
    const source = interval(1000);
    //5秒間まつ。最後にemitされた値を出力する
    const example = source.pipe(auditTime(5000));
    const subscribe = example.subscribe((val) => console.log(val));
    
    4...9...14
    

    debounceTime

  • value의 출력 지연을 지정한 기간
  • 기간별로 출력된 이전 값
  • //1秒たつと出力さ荒れるobsservable
    const source = interval(1000);
    //5秒間まつ。最後にemitされた値を出力する
    const example = source.pipe(debounceTime(5000));
    const subscribe = example.subscribe((val) => console.log(val));
    
    //intervalで5秒たった後に、さらに5秒待って出力される
    4...9...14
    

    throttleTime

  • 지정된 기간 동안 값 무시
  • 시간대에 새 값 추출
  • //1秒たつと出力さ荒れるobsservable
    const source = interval(1000);
    //5秒間まつ。最後にemitされた値を出力する
    const example = source.pipe(throttleTime(5000));
    const subscribe = example.subscribe((val) => console.log(val));
    
     0...6...12
    

    bufferTime

  • 지정된 기간 동안emit를 제어하고 이 기간에emit의 값을 모아 배열
  • //0.5秒に一回emitされるobservable
    const source = interval(500);
    //1秒までに出された値を配列で返すようにする
    const subscription = source.pipe(bufferTime(1000));
    subscription.subscribe((val) => console.log(val));
    
    [0,1], [2,3], [4,5]....
    

    delay

  • 지정된 시간 지연emit의 정시
  • const example = of(null);
    
    //格observableにdelayをつけてタイミングを遅らせる
    const message = merge(
    	example.pipe(mapTo("Hello")),
    	example.pipe(mapTo("World!"), delay(1000)),
    	example.pipe(mapTo("Goodbye"), delay(2000)),
    	example.pipe(mapTo("World!"), delay(3000))
    );
    const subscribe = message.subscribe((val) => console.log(val));
    
     'Hello'...'World!'...'Goodbye'...'World!'
    

    timeout

  • 지정된 기간 동안 emit에 의해 전송되지 않았을 때 error를 보냅니다.
  • //5秒後に値がemitされる
    const time = time(5000);
    //1秒で値が出されなかったらerrorをだす
    const source = time.pipe(timeout(1000));
    source.subscribe((catchError) => console.log("error"));
    
    "error";
    

    좋은 웹페이지 즐겨찾기