Si has desarrollado una buena temporada con Javascript y has requerido de la gestión intensiva de eventos y callbacks, sabrás que es fácil que el flujo de ejecución de la aplicación sea muy difícil de seguir, incluso utilizando profusamente la consola de javascript del navegador y el debugging: salta de un lado a otro y no sabes de dónde viene.
Bienvenido al callback hell. éste es el escenario en el que una caracerística a priori ventajosa del lenguaje de programación (programación asíncrona de javascript) se vuelve en contra. ¿Y ahora qué?
Pero hay más: aparte de la simplificación que supone la agregación de callbacks en un solo promise, existe un motivo más profundo que no hay que perder de vista: al utilizar las promesas, podemos lanzar excepciones desde las funciones llamadas y esperar que la promesa los capture. Y eso sí marca la diferencia, porque permite recuperar el control sobre los errores. Al recuperar ese control, podemos testear y depurar las aplicaciones con más facilidad.
En el fondo las promesas permiten combinar lo mejor de ambos mundos:
© 2007 and beyond Mario Alberich, licensed under CC-BY-SA unless stated otherwise.