Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.6K
Vistas
¿Son lastValueFrom y firstValueFrom equivalentes en Angular HTTP?

En angular, usamos HttpClient para hacer llamadas HTTP que devuelven un observable, si queremos usar promesas, podemos usar lastValueFrom/firstValueFrom .

Digamos que tenemos:

 async getLast() { const get$ = this.http.get(url); const res1 = await lastValueFrom(get$); } async getFirst() { const get$ = this.http.get(url); const res2 = await firstValueFrom(get$); }

¿res1 y res2 son siempre equivalentes? ¿Cuál es la versión correcta para usar?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

En el cliente Angular HTTP , sí, lo son. Por eso :

 observer.next(new HttpResponse({ body, headers, status, statusText, url: url || undefined, })); // The full body has been received and delivered, no further events // are possible. This request is complete. observer.complete();

Después de observer.next(...) , se llama a observer.complete() de forma síncrona. Dado que se trata de una llamada síncrona, no hay diferencia en usar lastValueFrom o firstValueFrom .

La única diferencia aquí es que firstValueFrom resolverá la Promesa una vez que se llame a next(...) , mientras que lastValueFrom resolverá la Promesa una vez que se llame a complete() . Dado que next y complete se llaman sincrónicamente, uno tras otro, realmente no hay mucha diferencia aquí.

Sin embargo, una cosa a tener en cuenta aquí es: si está usando reportProgress = true , querrá usar lastValueFrom ya que le gustaría capturar el último valor emitido por el productor, es decir, la respuesta o el error. No desea resolver la Promesa con la actualización del estado de progreso. Si lo hace, entonces no querrá usar Promesas en absoluto.

over 4 years ago · Santiago Trujillo Denunciar

0

En el uso básico de HttpClient.get(url) , sin opciones adicionales como observe: events o reportProgress: true , ambas versiones son equivalentes y puede usar la que desee. El observable emitirá solo una vez o fallará, por lo tanto, tanto lastValueFrom como firstValueFrom se comportarán de la misma manera.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda