Rxjs Retry with Delay function

前端 未结 10 2382
忘了有多久
忘了有多久 2020-11-30 06:32

I am trying to use retry with delay function, I expect function will call after 1000ms delay, but it doesnot, what can be error here? look at conso

10条回答
  •  执念已碎
    2020-11-30 07:02

    This may help you

    let values$ = Rx.Observable.interval(1000).take(5);
    let errorFixed = false;
    
    values$
    .map((val) => {
       if(errorFixed) { return val; }
       else if( val > 0 && val % 2 === 0) {
          errorFixed = true;
          throw { error : 'error' };
    
       } else {
          return val;
       }
    })
    .retryWhen((err) => {
        console.log('retrying again');
        return err.delay(1000).take(3); // 3 times
    })
    .subscribe((val) => { console.log('value',val) });
    

提交回复
热议问题