Async/Away Javascript

en pocas palabras.

Es la forma mas simple, entendible y mantenible de encadenar multiples promesas.

Contenido

    Encadenando Promesas

    Para encadenar promesas basta con iniciar la ejecución de una y luego utilizando multiples .then() podemos controlar el orden de ejecución en forma lineal.

    JavaScript
    function req1(){
      return fetch("http://somedomain/service1");
    }
    
    function req2(){
      return fetch("http://somedomain/service2");
    }
    
    req1()
    .then(function(response){
      //resultado de la primera solicitud.
      return req2();
    })
    .then(function(response){
      //resultado de la segunda solicitud.
    }); //podriamos seguir encadenando mas peticiones.

    Para mas detalles acerca de las promesas les recomiendo leer este árticulo Promesas Javascript

    Ahora con Async/Await

    Se debe declarar una función con la palabra clave Async y luego por la ejecución de cada promesa se debe utilizar la palabra clave await.

    JavaScript
    function req1(){
      return fetch("http://somedomain/service1");
    }
    
    function req2(){
      return fetch("http://somedomain/service2");
    }
    
    Async function makeMultipleRequest(){
      let result1 = await req1();
      let result2 = await req2();  
    }
    
    makeMultipleRequest();

    Es tan simple como esto y como puede apreciarse el código es mas intuitivo.

    Recomendación

    Se presentó un ejemplo muy basico y cuyo objetivo es demostrar como Async/await permite encadenar promesas de una forma mas simple e intuitiva, pero aun hay mucho mas tema por ver, como que hacer en caso de error, diferentes forma de encadenar (a demas del sencuencial) entre detalles como el tipo de objeto que se crea y restricciones que puede tener esta implementación, por lo tanto los invito a seguir revisando mas acerca del tema y les recomiendo el siguiente documento https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function

    Conclusión

    En lo posible debe utilizarse Async/Await para encadenar promesas debido a que es la forma mas simple, entendible y mantenible.

    Gracias por leer.

    Commentarios

    Leave a Reply

    Your email address will not be published. Required fields are marked *