Angular Basics - HttpClient

Поделиться
HTML-код
  • Опубликовано: 29 янв 2025

Комментарии • 32

  • @akotech
    @akotech  3 года назад +19

    Bueno pues este es el último video de esta serie. Espero la hayáis disfrutado y sobre todo que os haya servido para entender los conceptos básicos del framework.
    Gracias por verla!
    Y si hay algún tema especifico sobre el que os gustaría que hiciera un video, por favor ponerlo por aquí.
    un saludo.

    • @advancexz0
      @advancexz0 2 года назад

      Felicidades, estos videos son de lo mejor que he visto, claros, concisos, muy buena edición, etc. Sobre las sugerencias que piden, me gustaría que hicieran una serie de videos sobre NGRX, me parece que serian de gran utilidad.

    • @akotech
      @akotech  2 года назад +2

      Lo primero muchas gracias por tus palabras! 😊
      Y respecto a lo de NgRx, no podías pedirlo en mejor momento, porque el primero de los videos está programado para publicarse en unas horas.
      un saludo

    • @mauriciomontes8235
      @mauriciomontes8235 2 года назад

      primero agradecerte por cada uno de los vídeos una muy buena manera de explicar..... ahora lo malo, es que es el último vídeo de angular que hay en el canal y tengo ganas de más..... tienes cursos de pago o algo así?? saludos y gracias por todo

    • @franmerlini99
      @franmerlini99 2 года назад

      Espectacular todo el contenido del canal! Se nota la gran dedicacion. Vendra algun video relacionado a los interceptors?

    • @akotech
      @akotech  2 года назад

      @@franmerlini99 Muchas gracias Francisco! 😊
      Qué exactamente es lo que te gustaría que tratara sobre los interceptores?
      Porque lo básico ya está incluido en este video.
      un saludo

  • @ferlezcano
    @ferlezcano Год назад

    Excelente video! La cantidad de información y el tiempo que le dedicas a cada subtema es el suficiente para darnos una buena idea inicial para comprenderlo.
    Me estoy paseando por todos tus videos... son buenísimos!

    • @akotech
      @akotech  Год назад

      Me alegro de que los estés disfrutando 😊
      un saludo y gracias por tus palabras Fernando.

  • @soulgroup
    @soulgroup 3 года назад +2

    Me saco el sombrero de lo bien que explicas

  • @mayramagiaratefunes3304
    @mayramagiaratefunes3304 2 года назад +1

    5 cursos pagos! Y el con su humildad, generosidad y didactica regala el mejor de todos. Siento muchisima gratitud, muchisimas gracias!

    • @akotech
      @akotech  2 года назад

      Muchísimas gracias nuevamente por tus palabras Mayra! 😊
      un saludito

  • @alanmelendez7154
    @alanmelendez7154 2 года назад +1

    Grandiosos los videos, ojala no dejes de subir contenido! Like y compartida merecida

  • @oscarperez-kp3qd
    @oscarperez-kp3qd 3 года назад +4

    Quedo anonadado de la forma en que manejas y transmites los conocimientos, un montón de gracias por este curso, tienes mi like en cada uno de los videos.
    De ser posible, te invito a que hagas un curso en donde nos enseñes a usar NgRx para el manejo de estado de nuestras aplicaciones, saludos!!

    • @akotech
      @akotech  3 года назад +1

      Me alegro de que hayas disfrutado el curso 😀.
      Respecto a lo de NgRx, lo tengo en la lista de videos que me gustaría hacer este año. No te puedo asegurar para cuando estará, pero si todo va bien y tengo suficiente tiempo, debería estar para antes del verano.
      un saludo

    • @oscarperez-kp3qd
      @oscarperez-kp3qd 3 года назад

      @@akotech sería súper, ánimo y gracias por los contenidos

  • @luiszelarrayan1529
    @luiszelarrayan1529 2 года назад

    Muchas gracias por los videos, me vi cada minuto, es una gran introducción a este lenguaje, y gracias por compartir el repo, saludos

  • @FernandoGonzalez-vy1cn
    @FernandoGonzalez-vy1cn 2 года назад +1

    Exelentes videos, gracias por la dedicacion y espero siga haciendo videos de tan buena calidad

    • @akotech
      @akotech  2 года назад +1

      Seguiremos intentándolo.
      Un saludo y muchas gracias por tu comentario.

  • @antoniolea3270
    @antoniolea3270 Год назад

    Hola ako excelente contenido felicidades, no se si pudieras hacer un video sobre profundizar en el manejo de tokens y la manera correcta de almacenarlos, vi que se recomienda mucho cookies pero no lo explican claramente, igualmente gracias por tu contenido.

    • @akotech
      @akotech  Год назад +1

      Muchas gracias Antonio!
      No se cuando le llegará el turno pero me apunto la idea del video explicando las ventajas/desventajas de las diferentes opciones a la hora de manejar la autorización.
      un saludo

  • @JorgePerez-hg9jt
    @JorgePerez-hg9jt 2 года назад

    excelente.

  • @jonathanaguinaga8989
    @jonathanaguinaga8989 Год назад

    Hola ! la linea return throwError(error) marca ahora como un Deprecated alguna solución que se podría brindar?. Buenos videos!

    • @akotech
      @akotech  Год назад +1

      Efectivamente la firma en la que se pasa el error como argumento directamente esta marcada como obsoleta en las ultimas versiones. Ahora hay que pasar una función que devuelva el error.
      En este caso por tanto tendrías que hacer lo siguiente:
      throwError(() => error)
      un saludo y gracias por tu comentario 😉

    • @jonathanaguinaga8989
      @jonathanaguinaga8989 Год назад

      @@akotech Excelente. Gracias!

  • @Adoracion-Alabanza
    @Adoracion-Alabanza 2 года назад

    Hola, necesito almacenar el token y enviarlo para recibir la lista de productos, cual seria la forma optima de hacerlo?

    • @akotech
      @akotech  2 года назад +2

      Hola Mariano, entiendo que hablas del _access token_ que recibes después de hacer login. La forma óptima dependerá de los requisitos de cada caso, pero como base general.
      Si solo necesitas guardar ese token durante la sesión actual del usuario, con que lo guardes en una propiedad del AuthService es suficiente. El inconveniente es que la próxima vez que acceda el usuario a la app, tendrá que volver a iniciar sesión.
      Si necesitas almacenarlo más a largo plazo, una de las opciones más comunes es usar la API _localstorage_ del navegador(developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). A grande rasgos el proceso sería más o menos así. Una vez inicia sesión el usuario, a parte de en la propiedad de la clase, guardas el token también en _localstorage_. Y la próxima vez que acceda ese mismo usuario a la app, lo primero que haces es mirar si tiene un token previamente guardado en _localstorage_, si lo hay lo validas contra el backend y si sigue siendo valido, le inicias sesión en la app automáticamente.
      un saludo

    • @akotech
      @akotech  2 года назад +2

      @@Adoracion-Alabanza En este mismo video tienes el ejemplo de como conseguirlo.
      Alrededor del minuto 7:50 puedes ver como extraemos el token de la respuesta del login correcto y lo guardamos en una propiedad authToken del AuthService.
      Y a partir del minuto 13:56, puedes ver como creamos un interceptor para añadir ese token en los headers de las llamadas que realizamos al backend de nuestra app.

  • @nghawx
    @nghawx 2 года назад

    Para el tema de la estrategia de detección de cambios (En el caso de una aplicación grande) si usamos el patrón smart and dumb components y manejamos un componente container/smart por feature, de igual forma siempre será recomendable tener ambos componentes con OnPush? es decir, podriamos tener un componente smart declarando todos los servicios y pasandole a sus componentes hijos la data por @inputs y estos últimos si tendrían la estrategia onPush activa?. Es solo una curiosidad que tengo, del resto muy buen video, para ser conceptos básicos tiene muchas tecnicas intermedia/avanzados aplicados en ellos, mejor que en cursos pagos!, gracias por compartir tus conocimientos. Edit: otra duda que tengo para manejar los catchError cuando nuestra aplicación posee muchos servicios lo mejor será extraerlos en interceptores?

    • @akotech
      @akotech  2 года назад +2

      El rendimiento de la estrategia OnPush siempre va a ser mejor que el de la estrategia por defecto. Dependiendo de la complejidad del componente la diferencia de rendimiento será apreciable o prácticamente inexistente. Dicho esto, si tienes claros los casos que provocan la detección de cambios usando la estrategia OnPush, mi recomendación es que la uses siempre, tanto para los smart como los dumb.
      Respecto a lo de extraer los catchError a interceptores, pues dependerá del caso. A un interceptor podrás extraer funcionalidad común para toda la aplicación, como loggear errores, implementar lógica de reintento,... Pero para el resto de errores que tienen un significado local en un determinado componente o servicio, tendrás que manejar el error en dicho lugar. Si te encuentras en un caso que la lógica se repite en multiples sitios, pero no se puede considerar global, siempre puedes extraer esa lógica a una función externa e importar dicha función en los distintos elementos que la necesiten.
      Espero haberte ayudado.
      un saludo

  • @charly-fg7xe
    @charly-fg7xe Год назад

    hola , me encanta el contenido de tus videos , pero vas muuuuuuuuy rapido y al final hace que se me vayan muchas cosas y pierdo interes en el mismo cuando tengo q retroceder a cada rato, eso se hace muy fastidioso y no puedo terminar de ver los videos , es solo una critica constructiva nomas :)

    • @akotech
      @akotech  Год назад +1

      No eres el primero que dice que hablo rápido 🙂
      Por desgracia para los videos publicados ya no puedo hacer nada. Lo único que a lo mejor te puede ayudar es bajar en la velocidad reproducción a 0.50 o 0.75 a ver si así puedes seguir mejor el tema.
      En los videos más recientes ya es algo que ya he tenido más en cuenta, pero seguiré trabajando para obligarme a hablar un poco más despacio.
      un saludo y muchas gracias por tu feedback. 😉

    • @charly-fg7xe
      @charly-fg7xe Год назад

      sisi lo he hecho , muchas gracias por tus videos!!@@akotech