RxJS - Riprova dell'operatore di gestione degli errori

Questo operatore si occuperà di riprovare sull'Osservabile sorgente in caso di errore e il nuovo tentativo verrà eseguito in base al numero di input fornito.

Sintassi

retry(retry_count: number): Observable

Parametri

retry_count - L'argomento retry_count è il numero di volte che vuoi riprovare.

Valore di ritorno

Restituirà la fonte osservabile con la logica del conteggio dei tentativi.

Esempio

import { of } from 'rxjs';
import { map, retry } from 'rxjs/operators';
import { ajax } from 'rxjs/ajax';

let all_nums = of(1, 6, 5, 10, 9, 20, 10);
let final_val = ajax('http://localhost:8081/getData').pipe(retry(4));
final_val.subscribe(
   x => console.log(x), => console.error(err),
   () => console.log("Task Complete")
);

Nell'esempio, stiamo effettuando una chiamata a un URL utilizzando ajax. L'url -http://localhost:8081/getDatasta dando un 404 così l'operatore retry () prova a fare una chiamata a url ancora per 4 volte. L'output è mostrato di seguito

Produzione