¡Utilizas MAL la Asincronía!

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024
  • En este video te diré que involucra trabajar con tareas asíncronas, y como puedes aprovechar su potencial de mejor manera.
    Mis Cursos de PROGRAMACIÓN: hdeleon.net/cu...
    🖥️ Mi Monitor: amzn.to/3dtnDkk
    ⌨️ Mi Teclado: amzn.to/3BtjKnq
    ⌨️ Mi Deck elgato: amzn.to/3dvEKC3
    🎧 Mis Orejeras: amzn.to/3BwQYm0
    🎤 Mi Micrófono: amzn.to/3qPvFHh
    Si quieres apoyarme y darme para una cerveza puedes hacerlo por aquí: paypal.me/Hecto...
    Puedes apoyarme desde 0.5 USD al mes uniéndote como miembro al canal aquí: / @hdeleonnet
    🐦Twitter: / powerhdeleon
    🌎Mi Sitio web: hdeleon.net
    📻Raw Radio en Spotify: open.spotify.c...
    #programación #dev #programming

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

  • @hdeleonnet
    @hdeleonnet  11 месяцев назад +8

    Curso de Programación Backend en C# .NET: www.udemy.com/course/aprende-programacion-backend-en-c-net/?couponCode=2023DIC3
    Mis cursos de programación: hdeleon.net/cursos-premium/

  • @PsychoCrusher
    @PsychoCrusher 11 месяцев назад +53

    ahora estaría bueno un video que explicara las diferencias entre Asynchronous, Multithreading y Multiprocessing Programming, o concurrencia y paralelismo.

    • @gTosca_666
      @gTosca_666 10 месяцев назад +1

      ¿con ejemplos y todo? 🤣

  • @mcomarch
    @mcomarch 11 месяцев назад +39

    Esto es lo que te hace grande mi estimado ... No se trata de "enseñar a tipear codigo" ... "enseñar sintaxis" ... esas cosas están en la documentación de cada lenguaje... Tu enseñas temas mas útiles para el proceso de desarrollo ... Eres un "in-gun" jajajajaja SALUD! ... digo digo, Saludos!

  • @JosyRaza
    @JosyRaza 11 месяцев назад +13

    Este es el único tipo de contenido sobre programación que me entretiene más que cualquier cosa que ponga a la par del trabajo para "distraerme". Gracias Hector Cervezón.

  • @ismaelosky3697
    @ismaelosky3697 11 месяцев назад +4

    Eres muy grande Héctor.
    A menudo hacemos las cosas y no nos paramos a pensar en las implicaciones que tienen, hasta que llega un día en que el cliente se queja de que las aplicaciones que le hemos desarrollado no van tan bien ni tan rápido como deberían.
    Este tipo de tutoriales con ejemplos concretos de buenas prácticas me vienen de lujo. Gracias!

  • @SRS779
    @SRS779 11 месяцев назад +5

    Muchas veces había oído sobre programación asíncrona sin saber de qué trataba... Con este video me quedo claro las ventajas que tiene, y a qué está destinado este tipo de programación, muchas gracias ✨

  • @elianaparicio1695
    @elianaparicio1695 11 месяцев назад +2

    Cabezón haz mas videos así, esto sirve un chingo!!

  • @matiasezequielherrera7327
    @matiasezequielherrera7327 11 месяцев назад

    Excelente! Al fin alguien de forma simple explica que no es solamente async await async await, a veces hay obsesion y ni siquiera era necesario invocar un metodo async.

  • @juliopaez9989
    @juliopaez9989 5 месяцев назад

    Muy buena explicación sobre await, no sabía cuál era su función. Gracias por brindar tus conocimientos

  • @AlvaraCOP
    @AlvaraCOP 11 месяцев назад +3

    Hector!!! eres lo máximo alchoolico de m....!!! gracias por la regañada...!! estuvo espectacular!!! un abrazo...!!!

  • @sherminatorhd318
    @sherminatorhd318 5 месяцев назад

    Te debo mucho Héctor
    Voy a mi primer trabajo de backend y he seguido tus cursos

  • @useijin
    @useijin 11 месяцев назад +3

    3:17 me voy adelantando, ese código se va a ejecutar línea por línea pero las siguientes se van a quedar esperando a que termine la que se está ejecutando; mientras que podrías estar haciendo las 2 peticiones juntas de un tirón y ahorrarte bastante tiempo de espera innecesarios. Es súper importante entender bien estos conceptos

  • @ericruiz384
    @ericruiz384 11 месяцев назад +1

    Regaño aceptado! Estoy volandolos de un proyecto que hice en Maui y estan jodiendo de mas el proyecto

  • @Axotla
    @Axotla 11 месяцев назад +1

    gracias Héctor, como siempre.

  • @marioeduardocontrerasserra3821
    @marioeduardocontrerasserra3821 11 месяцев назад +9

    Acabas de hacerme cuestionar mis 6 años de experiencia como programador! claramente lo hemos implementado mal, pero sobre todo se ha enseñado mal lo relacionado a la asincronía.
    Gracias por la regañada ❤

    • @alfredobadillo2280
      @alfredobadillo2280 11 месяцев назад +2

      Y eso me lo cuestione hace como 4 años cundo vi un video de hector. Y después dije la gente de javascript es muy pedante con el async y el await con sus videos de no uses promesas usa async and await de allí viene que muchos no entiendan esta parte.

  • @crissanchez1251
    @crissanchez1251 11 месяцев назад +1

    Excelente video y una gran aclaración sobre el uso de las tareas asíncronas

  • @IvanUgu
    @IvanUgu 11 месяцев назад

    justo hoy estuve haciendo uso de esto, al mismo tiempo hago un fetch y voy a hacer una consulta a la base de datos, despues abajo espero por las 2 task que terminen... ahora los tiempos no se suman y el tiempo total esta dado por el tiempo del fetch, saludos crack!

  • @doTheBarba
    @doTheBarba 11 месяцев назад

    Al fin lo entendí, muchisimas gracias!! no entendia cuando usar await!

  • @Lidamster
    @Lidamster 11 месяцев назад +2

    Muchas gracias, lo he entendido. Pero, la próxima vez explícamelo con cerveza, que así me cuesta un poco😂👍👌

  • @estephaniacalvocarvajal594
    @estephaniacalvocarvajal594 Месяц назад

    Que buen video, en muchas partes uno encuentra ejemplos que no tienen sentido y confunden mucho cuando apenas estás aprendiendo 😔... Por ejemplo, cuando empezé a revisar esto yo llegué a pensar que aunque pusiera await el proceso iba continuar y solo parar en caso de que volviera a llamar la variable que definí con el await ... 🙈

  • @kevinalexandervirgilioroja6843
    @kevinalexandervirgilioroja6843 4 месяца назад

    Gracias profe, me queda mas claro.

  • @Brono177
    @Brono177 11 месяцев назад +5

    Tambien hay tareas que no necesitas esperar a que retornen un resultado, las llamadas "fire and forget", solo las ejecutas y puedes seguir con el resto del código.
    Para eso basta con usar "_ =" en cualquier Task, obvio hay que tener presente que, si el hilo principal de tu app se cierra, posiblemente mates esa otra tarea antes de que termine, es más util para una app o servidor que siempre está corriendo para ahorrarte algo de tiempo por ejemplo en guardado de auditorías u otra info que si falla no te afecta al 100%.
    Y haciendo mención de lo anterior, la unica desventaja de el "fire and forget" es que, si falla algo dentro del proceso, no te darás cuenta, simplemente finalizara la tarea y yap, aunque para eso también puedes manejar auditoria o logs dentro de esa tarea, pero en el hilo principal al final no sabra el resultado de esta.

    • @jchacking7722
      @jchacking7722 11 месяцев назад

      Si es una llamada de red, prefiero esperar a una respuesta del servidor por ejemplo.
      Asi que en ese caso soy mas de _ = await ...
      De esta forma me aseguro que termina (Luego se puede dejar a criterio del que use X funcion el esperarla o no)

  • @maclaren33
    @maclaren33 6 месяцев назад

    Excelente video. Cuando puedas por favor un video así mismo q se explique q pasa si se utiliza inyección y q pasa si no. Para poder ver más allá de la teoría el beneficio en la práctica de las interfaces

  • @pacoperico1109
    @pacoperico1109 11 месяцев назад

    GENIAL! NO SE ME HABÍA OCURRIDO QUE LOS TASK SE PODÍAN AWAITAR LUEGO. THANX

  • @eloylopez7283
    @eloylopez7283 11 месяцев назад

    Muchas gracias, ahora todo tiene sentido, por ello tardan un poco los métodos que desarrollo

  • @IvanHernandez-co3jy
    @IvanHernandez-co3jy 11 месяцев назад

    Gracias Hector, genial, has resuelto una de mis dudas existenciales sobre cómo sacarle provecho a la asincronía!

  • @jeancarlosluciano9211
    @jeancarlosluciano9211 11 месяцев назад +1

    excelente contenido 🤩.
    yo uso javascriot y esto se aplica perfectamente, trato de solo usar await cuando mi otro codigo depende de lo que viene y si son mas de 2 promesas trato de hacerlas en paralelas, de lo contrario mejor no hago tareas bloqueantes..
    me gusta tu contenido un crack

  • @yersonhtm9879
    @yersonhtm9879 11 месяцев назад

    en mi primer trabajo tuve que cargar la foto de perfil del usuario, lo había hecho mal y ponía el await, por tanto, toda la aplicación se quedaba esperando a que se cargara la foto y por esto tardaba mucho en iniciarse, muy buen contenido y gracias por la explicación alguien tenai que decirlo ^^

  • @pedroacostamolina7621
    @pedroacostamolina7621 2 месяца назад +1

    Interesante el await. Gracias.

  • @Nanaso22
    @Nanaso22 11 месяцев назад +1

    Muy bueno, recuerdo haber puesto await en lugares donde realmente no sabía si era necesario....como grabar en un log o crear el archivo o directorios o pasar a base64 el Buffer de una imagen.
    Datillos como el que la escritura en disco PUEDE SER lenta, como lo son las llamadas HTTP, me sirvieron un montón.
    Muchas gracias y un abrazo grande desde Córdoba Argentina.
    Y salud!, obvio.

  • @darkdragonblackw
    @darkdragonblackw 11 месяцев назад

    Por supuesto que aprendí, muchas gracias Master Hector

  • @josuedev2440
    @josuedev2440 11 месяцев назад +1

    Gracias por la información. Saludos Hector

  • @thegonzamc3771
    @thegonzamc3771 11 месяцев назад

    muuuy buen video hector, yo lamentablemente aprendi a tropesones en programacion paralela, me gusto mucho la explicacion queda muy claro

  • @MiguelDiaz-jz1nh
    @MiguelDiaz-jz1nh 10 месяцев назад +1

    Grande Héctor, siempre aprendiendo cosas nuevas contigo, saludos desde Costa Rica!

  • @twoels1933
    @twoels1933 11 месяцев назад

    De hecho asi la enseñaste tu en su tiempo, yo desde hace tiempo lo aprendi desde Pluralsight. e igualmente creo que la sintaxis que usaste no es la mejor. Muchs gracias por el contenido !

  • @acmesoft
    @acmesoft 11 месяцев назад +2

    Creo que te faltó el ejemplo que hubiese sido mas simple con Task.WhenAll, o sea convertir esas 4 (si no le erro) lineas de código en 1 para cada caso. Pero siempre viene bien porque me hace revisar código para encontrar mejoras para los proyectos, aqui tienes mi pulgar arriba como corresponde.

    • @darnack315
      @darnack315 11 месяцев назад +1

      No se puede. Porque la escritura en disco depende de que los contents ya existan. Son dos grupos de tareas, el segundo depende de que el primero se complete.

  • @Miguel140370
    @Miguel140370 11 месяцев назад +1

    excelente explicación... gracias!

  • @antoniorodriguez-ks8ge
    @antoniorodriguez-ks8ge 11 месяцев назад

    Hermosho…. 😊, todos los días se aprende algo nuevo. Buena explicación, se entendió la idea 💡

  • @parreyshon
    @parreyshon 11 месяцев назад

    Eres un crack .. muchas veces no nos atrevemos a preguntar y conocer el concepto de fondo.

  • @bhaskara0g468
    @bhaskara0g468 11 месяцев назад

    muchas gracias jesus

  • @hugosanchez454
    @hugosanchez454 11 месяцев назад

    Gracias por el video, no entendia muy bien el uso del await y task juntos, ahora entendi como usarlo correctamente, muchas gracias!!!!!

  • @lionelponce5404
    @lionelponce5404 11 месяцев назад

    No tenia idea de para que era ni como se usaba el await.. Supongo que también se puede usar en funciones..
    Gracias por la regañada..

  • @adiazwise
    @adiazwise 11 месяцев назад +1

    Excelente Mister Super clara la explicación.

  • @victorisrael4956
    @victorisrael4956 11 месяцев назад

    Muchas gracias bro!

  • @ateban69
    @ateban69 11 месяцев назад

    Tendré que probarlo, que tal se comporta cuando realizas la ejecución de stored procedures.

  • @montes-zz3lx
    @montes-zz3lx 11 месяцев назад +1

    Maravillosa jugada

  • @DavidPcss
    @DavidPcss 11 месяцев назад +1

    Gracias por este vídeo Hector, llevas toda la razón 👏👏👏👏👏👏

  • @josuecruz7075
    @josuecruz7075 10 месяцев назад

    Muy bueno man, si le sabes, gracias por compartir conocimiento

  • @JuanCarlosDiazMontiel07
    @JuanCarlosDiazMontiel07 11 месяцев назад

    Gracias maestro Hector.

  • @adolfozamorapescador626
    @adolfozamorapescador626 11 месяцев назад

    Hola buen dia, espero leas este comentario, la verdad estoy aprendiendo, unos pudieron comprender pero yo no, me gustaria una explicacion para Re-Dumies sobre Asincronia, por favor un video, mil gracias, feliz dia,

  • @leono8a
    @leono8a 11 месяцев назад

    Excelente muchas gracias por compartir esta excelente infirmación, saludos.

  • @angelcarballobasto
    @angelcarballobasto 11 месяцев назад

    Excelente explicación.

  • @samuelsaravia7621
    @samuelsaravia7621 11 месяцев назад

    Excelente Héctor , gracias por la enseñanza

  • @industriasroy7343
    @industriasroy7343 9 месяцев назад

    Wow, Gracias!

  • @derlogus
    @derlogus 11 месяцев назад

    Cuando trabajaba con SQL siempre lo usaba ya que algunas peticiones tardaban demasiado, ahora con Mongo ya no lo he usado. Sin embargo recordando el uso correcto de async, ya se me estan ocurriendo varias situaciones para mejorar en mi base de código actual.

  • @juancomande9543
    @juancomande9543 11 месяцев назад

    Buen video Hector! Me gustaría, si no te ofende, agregar un regaño más para que entiendan la diferencia entre whenAll y waitAll.
    utilizando tus ejemplos también me parecería interesante remarcar que sería más eficiente meter la funcionalidad en un método y llamarlo dos veces ya que tu primer await siempre va a bloquear al segundo.

  • @brauliomariano
    @brauliomariano 11 месяцев назад

    Aprendido!! Gracias Héctor.

  • @eliecergrisales7532
    @eliecergrisales7532 11 месяцев назад

    La verdad no lo terminé de entender, pero ya sé qué tengo que ponerme a estudiar, muchas gracias

  • @DarknessMA
    @DarknessMA 11 месяцев назад +1

    Excelente, muy ilustrativo y claro el ejercicio

  • @tatnaitech3410
    @tatnaitech3410 11 месяцев назад

    Que chingon Hector, estaba buscado info sobre esto.

  • @alfirian
    @alfirian 11 месяцев назад +6

    Siempre aprendiendo del mejor!
    ¡Crack! 😎

  • @erikomarmontescastro100
    @erikomarmontescastro100 Месяц назад

    A mí me gusta usar el task.whenAll y ahí meter todas las tasks pero también lo hago como tú lo muestras en tu video. Me hubiera gustado ver tu video hace 3 o 4 años pues me costó mucho trabajo dominar el concepto de async await de forma correcta 😊. Buena explicación, quizás hubiera sido mejor que omitieras el paso de escribir en un archivo el contenido de cada request (lo comento como un feedback y que el ejemplo sea aún más fácil de entender para las personas que a penas están estudiando el concepto de sincronía

  • @tobalhenriquez8233
    @tobalhenriquez8233 5 месяцев назад

    Excelente maestro. Un crack!!! Pregunta. Haz hecho algun programa sencillo que podamos replicar como programadores que te ayude en el día a dia? Saludos y gracias por tu valioso contenido!!

  • @Ariel_Fernandez
    @Ariel_Fernandez 11 месяцев назад

    Muy bueno, gracias Héctor!

  • @eduardohidalgo2720
    @eduardohidalgo2720 11 месяцев назад

    ni en mi casa me regañan,bueno,un poco pero es por mi bien,asi como tu,gracias

  • @MarcosPic1982
    @MarcosPic1982 Месяц назад

    Es cierto que mucha gente pone siempre el await sin pensarlo porque también la gran mayoría de las veces se necesita también el resultado para poder continuar, pero no siempre.

  • @armandoWebDev
    @armandoWebDev 11 месяцев назад

    Muy clara la info, gracias!!

  • @hugoantonioayala7756
    @hugoantonioayala7756 11 месяцев назад +1

    Excelente como siempre Hector!!

  • @jucehovi
    @jucehovi 4 месяца назад

    excelente gracias

  • @ricardosanhueza9832
    @ricardosanhueza9832 11 месяцев назад

    Gracias

  • @omargarduno9100
    @omargarduno9100 11 месяцев назад +1

    Oye carnal, la neta me gusta un buen tu contenido, y tengo un curso tuyo de SQL, y me quedé pensando “qué chingón enseña este bro, debería de sacar uno de Excel (aunque ya haya muchos y que muchos de aquí ya sabemos)” siento que pegaría muchísimo un curso así tuyo (un mero consejo)
    Eres un duro 🔥😎🤟🏻

  • @marcoduran6417
    @marcoduran6417 11 месяцев назад

    Yo entendí este tema en javascript el mejor lenguaje de programacion. :) y en el desarrollo de apps movil ya que si no lo hacia podria colapsar el hilo principal de la app (de la interfaz grafica😃)

  • @Mars3_
    @Mars3_ 11 месяцев назад +1

    Hola Hector, seria bueno una serie de videos sobre arquitecturas de software como la arquitectura Onion y el Clean arquitecture, junto a un ejemplo practico en .Net o donde desees. Muchas gracias por aportar a la comunidad dev en español 🤘

  • @williamvallecilla261
    @williamvallecilla261 11 месяцев назад

    Excelente explicación crack!!!

  • @natlius2
    @natlius2 11 месяцев назад

    Gracias por hacer este video

  • @alex87117
    @alex87117 11 месяцев назад

    más de 3 años de experiencia y sentí que no se nada, pero con practica se llegara lejos :)

  • @JoAkiiiN96
    @JoAkiiiN96 10 месяцев назад

    Me llego tarde el vídeo, en su momento alguien también me explico ese tema sobre el await😂, pero tu explicación fue excelente.

  • @dhardysd
    @dhardysd 11 месяцев назад

    Muchas gracias por hacerme dar cuenta de mi error 🙌

  • @vladimirbony1392
    @vladimirbony1392 11 месяцев назад

    Muchas gracias me sirvioooo...!!!!!!! Por favooooor no se si puedes hacer un video con UnitOfWork para que se pueda conectar a varias bases de datos por favooooor...!!!! gracias...!!!!

  • @jismaelcr
    @jismaelcr 11 месяцев назад

    Excelente contenido como siempre joven Héctor, podrá hacer un tutorial sobre win ui3, me gustaría aprender las bases o una orientación de como empezar, gracias de antemano, saludos cordiales, Dios lo bendiga.

  • @jhojanparejaynga3856
    @jhojanparejaynga3856 11 месяцев назад

    Como podria hacer para enviar json de forma automatica a una api de facturacion electronica, lo que pasa es que por alguna razon se quedan en cola...

  • @Mrleopola
    @Mrleopola 11 месяцев назад

    Excelente Héctor!

  • @hernangarcia77
    @hernangarcia77 11 месяцев назад

    En js se pueden lanzar promesas y luego awaitearla mas abajo? Creo q no, cierto?
    La forma seria usar promiseall, intuyo

  • @christianjosue79
    @christianjosue79 11 месяцев назад

    me aclarasre una duda antigua, gracias!

  • @kevinduran8587
    @kevinduran8587 9 месяцев назад

    Excelente.

  • @JuanCarlosDiazMontiel07
    @JuanCarlosDiazMontiel07 11 месяцев назад

    Me gustaría aprender a implementar este concepto a una aplicación que estoy realizando donde tengo unos datos de entrada y tengo que realiza N tareas y calculos a la vez para así poder generar unas archivos xml, mostrarlos en la interfaz de ususario y tambien exportarlos a excel.

  • @RodrigoMorenoIngenieria
    @RodrigoMorenoIngenieria 11 месяцев назад +4

    Que tal mi nombre es Héctor de león el único programador que perdió en la midudev league

  • @SvenKnutson
    @SvenKnutson 11 месяцев назад

    Héctor, gran maestro. Que es más recomendado, usar task y guardar la tarea por tarea o un Task.WhenAll?

  • @iturraldec
    @iturraldec 7 месяцев назад

    gracias!!!

  • @andymesta4913
    @andymesta4913 7 месяцев назад

    Como seria para un ciclo for?

  • @Mrs_nor
    @Mrs_nor 11 месяцев назад

    Increíble video! Me encanta que expliques el concepto de las cosas

  • @josecasanova3502
    @josecasanova3502 11 месяцев назад

    Gracias por los videos

  • @seniorDragon913
    @seniorDragon913 11 месяцев назад

    Ufff, me acabas de salvar la vida.
    Gracias man! 🤟

  • @skillR-243
    @skillR-243 11 месяцев назад

    ¡Buenas Héctor! ¿Esto también es válido en JS? Saludos.

  • @abdielvera3972
    @abdielvera3972 11 месяцев назад

    muy bueno saludos.

  • @rogeliogarciag
    @rogeliogarciag 11 месяцев назад +1

    Excelente video.

  • @hectorrubio1474
    @hectorrubio1474 11 месяцев назад

    Una duda, y si ponemos el codigo del timeout de 2 segundos (con todo y await) hasta el final del proceso de llamar los endpoints y escribir los archivos , no tendria el mismo resultado? .-.

  • @michelleon1050
    @michelleon1050 11 месяцев назад

    El dicho del programador: "en mi máquina corre" 😂
    Muy útil el tip, te lo agradezco, sé que me servirá en mis proyectos.

  • @mauriciosandoval5369
    @mauriciosandoval5369 11 месяцев назад

    Hector, que pasa si es la impresion de un archivo? si la coloco en un var, estaria ejecutandose igual?
    o hay alguna forma que se ejecute, espere y cuando yo quiera imprima?

  • @alexandermaestretorres7199
    @alexandermaestretorres7199 11 месяцев назад

    Los detalles definen al buen programador.