RxJS onErrorResumeNext

2020-10-13 18:49 更新

當(dāng)任何提供的 Observable 發(fā)出完整或錯誤通知時,它立即訂閱下一個傳遞的通知。

onErrorResumeNext<T, R>(...sources: any[]): Observable<R>

參量

資料來源 可觀測量(或任何可觀察到的)通過直接或作為陣列。

returns

Observable<R>:一個 Observable,將所有源一個接一個地串聯(lián)起來,而忽略所有錯誤,因此任何錯誤都會導(dǎo)致它繼續(xù)移動到下一個源。

描述

不管執(zhí)行什么,都執(zhí)行一系列 Observable,即使這意味著吞咽錯誤。

onErrorResumeNext大理石圖

onErrorResumeNext將依次訂購它提供的每個可觀察源。如果其訂閱的源發(fā)出錯誤或完成,它將無誤地移至下一個源。

如果onErrorResumeNext未提供參數(shù)或單個空數(shù)組,則它將返回 EMPTY

onErrorResumeNext基本上是 concat,即使它的一個來源發(fā)出錯誤,它也只會繼續(xù)。

請注意,無法通過的結(jié)果來處理源拋出的任何錯誤 onErrorResumeNext。如果您要處理任何給定源中引發(fā)的錯誤,則可以始終 catchError 在它們上使用運算符,然后再將它們傳遞給 onErrorResumeNext。

映射失敗后訂閱下一個 Observable

content_copyopen_in_newimport { onErrorResumeNext, of } from 'rxjs';import { map } from 'rxjs/operators'; onErrorResumeNext( of(1, 2, 3, 0).pipe(   map(x => {     if (x === 0) throw Error();     return 10 / x;   }) ), of(1, 2, 3),).subscribe(  val => console.log(val),  err => console.log(err),          // Will never be called.  () => console.log('done'),); // Logs:// 10// 5// 3.3333333333333335// 1// 2// 3// "done"

超載

onErrorResumeNext(v: any): Observable<R>

參量 類型
v 類型:any

returnsObservable<R>

onErrorResumeNext(v2: any, v3: any): Observable<R>

參量 類型
v2 類型:any
v3 類型:any

returnsObservable<R>

onErrorResumeNext(v2: any, v3: any, v4: any): Observable<R>

參量 類型
v2 類型:any
v3 類型:any
v4 類型:any

returnsObservable<R> onErrorResumeNext(v2: any, v3: any, v4: any, v5: any): Observable<R>

參量 類型
v2 類型:any
v3 類型:any
v4 類型:any
v5 類型:any

returnsObservable<R> onErrorResumeNext(v2: any, v3: any, v4: any, v5: any, v6: any): Observable<R>

參量 類型
v2 類型:any
v3 類型:any
v4 類型:any
v5 類型:any
v6 類型:any

returnsObservable<R> onErrorResumeNext(...observables: any[]): Observable<R>

參量 類型
可觀察的 類型:any[]

returnsObservable<R>

onErrorResumeNext(array: any[]): Observable<R>

參量 類型
數(shù)組 類型:any[]

returnsObservable<R>

也可以看看

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號