Codigos asincronicos: 5 consejos para escribirlos

[vc_row el_class=”blog-info”][vc_column][vc_single_image source=”featured_image” img_size=”full” style=”vc_box_rounded”][vc_empty_space height=”40px”][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text el_class=”font-weight-bold”]

Código asincrónicos: no frágiles y fáciles de mantener

Los mejores 5 consejos que podrá obtener para comenzar a escribir codigos asincronicos no frágil y de fácil mantenimiento.

[/vc_column_text][vc_empty_space height=”40px”][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text]


1 | Código limpio

El uso de async/await le permite escribir mucho menos código. Cada vez que usa async/await, omite algunos pasos innecesarios: escriba .then(…), cree una función anónima para manejar la respuesta, nombre la respuesta de esa devolución de llamada, por ejemplo:

codigos asincronicos

Versus:

codigos asincronicos

 

2 | Manejo de errores

Async/await hace posible manejar tanto los errores de sincronización como los async con la misma construcción de código: las conocidas declaraciones try/catch. Veamos cómo se ve con Promesas:

codigos asincronicos

Versus:

codigos asincronicos

3 | Condicionales

Escribir código condicional con async/await es mucho más sencillo:

codigos asincronicos

Versus:

codigos asincronicos

4 | Stack Frames

A diferencia de async/await, la pila de errores devuelta por una cadena de promesas no da ninguna pista de dónde ocurrió el error. Mire lo siguiente:

codigos asincronicos

Versus:

codigos asincronicos

5 | Debugging (Depuración)

Si ha utilizado promesas, sabe que depurarlas es una pesadilla. Por ejemplo, si establece un punto de interrupción dentro de un bloque .then y usa atajos de depuración como “stop-over”, el depurador no se moverá al siguiente .then porque solo “steps” el código síncrono.

Con async/await puede pasar por las llamadas en espera exactamente como si fueran funciones sincrónicas normales.

Escribir codigos asincronicos JavaScript es importante no solo para las aplicaciones en sí, sino también para las bibliotecas.

Por ejemplo, la biblioteca SessionStack registra todo en su aplicación web / sitio web: todos los cambios de DOM, interacciones de usuario, excepciones de JavaScript, seguimientos de pila, solicitudes de red fallidas y mensajes de depuración.

Y todo esto tiene que suceder en su entorno de producción sin afectar a la UX. Necesitamos optimizar en gran medida nuestro código y hacerlo asincrónico tanto como sea posible para que podamos aumentar la cantidad de eventos que están siendo procesados ​​por Event Loop.

¡Y no solo la biblioteca! Cuando reproduce una sesión de usuario en SessionStack, tenemos que representar todo lo que sucedió en el navegador de su usuario en el momento en que ocurrió el problema, y ​​tenemos que reconstruir todo el estado, lo que le permite saltar hacia adelante y hacia atrás en la línea de tiempo de la sesión. Para que esto sea posible, estamos empleando en gran medida las oportunidades asincrónicas que ofrece JavaScript.

Existe un plan gratuito que le permite [comenzar de forma gratuita].

Image for post

[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row el_class=”social-info”][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text][social_share_button themes=’theme1′][/vc_column_text][/vc_column_inner][vc_column_inner el_class=”youtube-inner-col” width=”1/2″][vc_column_text][likebtn theme=”youtube” lang=”auto” show_like_label=”0″ white_label=”1″ alignment=”right”][/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner el_class=”social-info-inner”][vc_column_inner width=”1/4″][vc_single_image image=”921″][/vc_column_inner][vc_column_inner width=”3/4″][vc_column_text]

Diego Pacheco

Ingeniero en Sitemas, MBA (Babson College). Desarrollador PHP/Java/JavaScript. Fundador & CEO de EpicStudio. Entusiasta de las tecnologías web (JavaScript, Vue, Laravel, AWS, Docker) Viajes, Negocios, Surf y Growth.[/vc_column_text][asvc_list_item icon_fontawesome=”fa fa-calendar-o” icon_size=”14px”]Programar una reunión[/asvc_list_item][/vc_column_inner][/vc_row_inner][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Recent Post

[/vc_column_text][lvca_posts_carousel posts_query=”size:3|order_by:rand|post_type:post” image_linkable=”true” image_size=”full” taxonomy_chosen=”post_tag” display_title=”true” display_post_date=”true” display_summary=”true” autoplay_speed=”3000″ animation_speed=”300″ display_columns=”3″ scroll_columns=”3″ gutter=”3″ tablet_display_columns=”2″ tablet_scroll_columns=”2″ tablet_gutter=”3″ tablet_width=”800″ mobile_display_columns=”1″ mobile_scroll_columns=”1″ mobile_gutter=”3″ mobile_width=”480″][vc_empty_space height=”20px”][/vc_column][/vc_row]