Angular Basics - HttpClient

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ก.ย. 2024

ความคิดเห็น • 32

  • @akotech
    @akotech  2 ปีที่แล้ว +18

    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 ปีที่แล้ว

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

    • @akotech
      @akotech  ปีที่แล้ว

      @@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 2 ปีที่แล้ว +2

    Me saco el sombrero de lo bien que explicas

  • @mayramagiaratefunes3304
    @mayramagiaratefunes3304 ปีที่แล้ว +1

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

    • @akotech
      @akotech  ปีที่แล้ว

      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 2 ปีที่แล้ว +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  2 ปีที่แล้ว +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 2 ปีที่แล้ว

      @@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.

  • @JorgePerez-hg9jt
    @JorgePerez-hg9jt 2 ปีที่แล้ว

    excelente.

  • @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

  • @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

  • @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.

  • @charly-fg7xe
    @charly-fg7xe 9 หลายเดือนก่อน

    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  9 หลายเดือนก่อน +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 9 หลายเดือนก่อน

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