Codigos asincronicos: 5 consejos para escribirlos

codigos asincronicos

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.


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