[RxJS] throwIfEmpty

import { fromEvent, timer } from 'rxjs';
import { throwIfEmpty, takeUntil } from 'rxjs/operators';
 
const click$ = fromEvent(document, 'click');
 
click$.pipe(
  takeUntil(timer(1000)),
  throwIfEmpty(
    () => new Error('the document was not clicked within 1 second')
  ),
)
.subscribe({
  next() { console.log('The button was clicked'); },
  error(err) { console.error(err); }
});

If the source observable completes without emitting a value, it will emit an error. 

posted @ 2020-10-14 03:05  Zhentiw  阅读(115)  评论(0编辑  收藏  举报