codecamp

RxJS throwlfEmpty

如果源可观察者完成但没有发出值,它将发出 一个错误。 该错误将在那时由可选程序创建 errorFactory参数,否则错误将为 EmptyError

throwIfEmpty<T>(errorFactory: () => any = defaultErrorFactory): MonoTypeOperatorFunction<T>

参量

errorFactory 可选的。 默认值为 defaultErrorFactory。 工厂函数称为产生 当源可观察到的对象完成而没有发出a时将抛出的错误 值。

returns

MonoTypeOperatorFunction<T>

描述

throwIfEmpty marble diagram

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); }
});
RxJS throttleTime
RxJS timeInterval
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

RxJS operators

RxJS fetch

RxJS testing

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }