retryWhen
Reintenta una secuencia Observable cuando ocurre un error
Descripción
Ejemplos
import { interval, timer, throwError } from "rxjs";
import { map, tap, retryWhen, delay } from "rxjs/operators";
const number$ = interval(1000);
const delayMilliseconds = 3000;
number$
.pipe(
map((n) => {
if (n > 5) {
throw "Número demasiado alto";
}
return n;
}),
retryWhen((error$) =>
error$.pipe(
tap((err) => console.log(`Ha ocurrido un error: ${err}`)),
// Reintentar después de 3s
delay(delayMilliseconds)
)
)
)
.subscribe(console.log);
// Salida: 0, 1, 2, 3, 4, 5, Ha ocurrido un error: Número demasiado alto (3s después se repite el proceso) 0, 1...Recursos adicionales
Last updated
