Reintentar una petición
Enviar de nuevo la petición al servidor n veces.
import { retry } from 'rxjs/operators';
getAllProducts() {
return this.http.get<Product[]>(this.apiUrl)
.pipe(retry(3));
}
Http Basic
Lo que aprenderás para consumir API con Angular
Solicitudes GET
Detalle de producto
Implementando slides
Solicitudes POST
Solicitudes PUT y PATCH
Solicitudes DELETE
Url Parameters / Paginación
Observable vs. Promesa
Reintentar una petición
Buenas prácticas
El problema de CORS
Manejo de ambientes
Manejo de errores
Transformar peticiones
Evitando el callback hell
Auth
Login y manejo de Auth
Manejo de headers
Uso de interceptores
Enviar Token con un interceptor
Creando un contexto a interceptor
Archivos
Descarga de archivos con Http
Subida de archivos con Http
Despedida
Continúa con el Curso de Angular Router y Programación Modular
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Adquiere por un año todos los cursos, escuelas y certificados por un precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Gracias a los observables en conjunto con RxJS puedes fácilmente implementar funcionalidades que de lo contrario sería complejo desarrollar por tu cuenta.
Para reintentar peticiones HTTP, puedes hacer que automáticamente vuelva a realizar otro intento si este llegara a fallar. Sería muy complejo su desarrollo casero ya que hay que recurrir a la recursividad y asincronicidad al mismo tiempo.
// services/api.service.ts
import { retry } from 'rxjs/operators';
@Injectable({
providedIn: 'root'
})
export class ApiService {
constructor(
private http: HttpClient,
) { }
getProduct(idProduct: number): Observable<Product> {
return this.http.get<Product>(`https://example.com/api/productos/${idProduct}`)
.pipe(
retry(2)
);
}
}
El método .pipe()
de los observables permite manipular datos y con la función retry()
de RxJS le indicas la cantidad de reintentos que buscas para que la petición lo haga en caso de fallar.
Contribución creada por: Kevin Fiorentino.
Aportes 5
Preguntas 2
Enviar de nuevo la petición al servidor n veces.
import { retry } from 'rxjs/operators';
getAllProducts() {
return this.http.get<Product[]>(this.apiUrl)
.pipe(retry(3));
}
RxJS lo es todo! desde que lo conocí, no pienso usar async await nunca más!
Sorprendente la abstracción que nos ofrece rxjs para reintentar solicitudes 😮.
Que maravilla, recuerdo que cuando entre a un trabajo anterior me hicieron ver Ionic3 y estaba esta sintaxis aunque recuerdo que era una version mas antigua de angular cerca de la 4 y yo no lograba entender bien esto de los pipes y los observables. Muy buena clase
Los miedos y las inseguridades que el impostor te susurra, solo existen en tu cabeza. Una vez empiezas a mover los dedos, empiezas a teclear una posible solución estarás más cerca de encontrarla que de no hacerlo y p r o c a s t i n a r.
.
Hoy procastine cerca de 4 horas porque realice cambios como swiper:, Http verbs (crud) y la clase de paginación, cada uno en diferentes ramas creadas especialmente para la clase por que tenía miedo de romper mi proyecto, por qué me paso en un primer intento de integrar swiper en main y tuve que hacer un git soft reset
.
.
Después de una rápida pregunta a ChatGPT me dio directo los pasos para hacer merge. que eran demasiado directos que quiero llorar por las horas que cedí al impostor. Ahora cierro mi sesión con este buen sabor de boca, soy más capaz de lo que mi propia opinión de mí mismo me quiere dejar creer
.
Imagen de que bonito se ve integrar estos cambiios en main.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.