- 错误处理
错误处理
如果出现意外事件,我们可以在Observable流上引发一个错误,并在订阅例程中使用保留用于处理错误的函数来查看发生了什么。
export class App {values: number[] = [];anyErrors: Error;private data: Observable<number[]>;constructor() {this.data = new Observable(observer => {setTimeout(() => {observer.next(10);}, 1500);setTimeout(() => {observer.error(new Error('Something bad happened!'));}, 2000);setTimeout(() => {observer.next(50);}, 2500);});let subscription = this.data.subscribe(value => this.values.push(value),error => this.anyErrors = error);}}
这里出现一个错误并捕获。 需要注意的一点是,如果我们在引发错误后包含一个.complete(),这个事件不会真正触发。 因此,您应该记住在错误处理程序中包含一些调用,这将关闭应用程序中的任何可视加载状态。
