RxJS throwError
创建一个 Observable,不向观察者发出任何项目 发出错误通知。
throwError(error: any, scheduler?: SchedulerLike
): Observable
<never>
参量
错误 | 要传递给错误通知的特定错误。 |
---|---|
调度器 | 可选的。 默认值为 undefined 。 一个 SchedulerLike 为计划 错误通知的发出。 |
退货
Observable<never>
:错误可观察:仅发出错误通知 使用给定的错误参数。
描述
只是发出“错误”,别无其他。
此静态运算符可用于创建仅 发出错误通知。 它可以用来与其他 可观测值,例如中的 mergeMap
。
例子
发出数字7,然后发出错误
import { throwError, concat, of } from 'rxjs';
const result = concat(of(7), throwError(new Error('oops!')));
result.subscribe(x => console.log(x), e => console.error(e));
// Logs:
// 7
// Error: oops!
将数字映射并展平到序列'a','b','c',但会抛出错误2
import { throwError, interval, of } from 'rxjs';
import { mergeMap } from 'rxjs/operators';
interval(1000).pipe(
mergeMap(x => x === 2
? throwError('Twos are bad')
: of('a', 'b', 'c')
),
).subscribe(x => console.log(x), e => console.error(e));
// Logs:
// a
// b
// c
// a
// b
// c
// Twos are bad