zoukankan      html  css  js  c++  java
  • [RxJS] Use takeUntil instead of manually unsubscribing from Observables

    Manually unsubscribing from subscriptions is safe, but tedious and error-prone. This lesson will teach us about the takeUntil operator and its utility to make unsubscribing automatic.

    const click$ = Rx.Observable.fromEvent(document, 'click');
    
    const sub = click$.subscribe(function(ev) {
      console.log(ev.clientX);
    });
    
    setTimeout(() => {
      sub.unsubscribe();
    }, 2000);

    In the code we manully unsubscribe.

    We can use tha helper methods such as takeUntil, take() help to automatically handle subscritpiton.

    const click$ = Rx.Observable
      .fromEvent(document, 'click');
    
    const four$ = Rx.Observable.interval(4000).take(1);
    
    /*
    click$          --c------c---c-c-----c---c---c-
    four$           -----------------0|
    clickUntilFour$ --c------c---c-c-|
    */
    
    const clickUntilFour$ = click$.takeUntil(four$);
    
    clickUntilFour$.subscribe(function (ev) {
      console.log(ev.clientX);
    });
  • 相关阅读:
    自控力和专注力是执行力的保证
    今宵又除夕
    买了小米盒子三代
    电容相位滞后?电感超前
    lcr电桥浅谈
    ad 线束和网络
    浅谈 R_S触发器
    NTSC PAL 介绍
    verilog 之流水灯
    io 口方向调整 stm32
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6917947.html
Copyright © 2011-2022 走看看