JavaScript | expresión de función asíncrona

La expresión de función asíncrona se usa para definir una función asíncrona dentro de una expresión en JavaScript. La función asíncrona se declara mediante la palabra clave asíncrona. 
Sintaxis: 
 

async function [function_name]([param1[, param2[, ..., paramN]]]) {
    // Statements
}

Parámetros: 
 

  • function_name: este parámetro contiene el nombre de la función. Este nombre de función es local para el cuerpo de la función. Si se omite el nombre de la función, se convierte en una función anónima.
  • paramN: Es el nombre del parámetro que se pasará a la función.
  • Sentencias: Contiene el cuerpo de la función.

Valor devuelto: Devuelve una promesa de devolver el valor o bien lanzar una excepción, siempre que ocurra un error.
Ejemplo 1: En este ejemplo, primero se imprime «GeeksforGeeks» y después de un intervalo de 1000 ms, se imprime «GFG».
 

javascript

<script>
    function cb() {
        return new Promise(function (resolve, reject) {
            setTimeout(function () {
                resolve("GFG")
            }, 1000)
 
        })
    }
    async function course() {
        console.log("GeeksforGeeks");
        const result = await cb();
        console.log(result);
    }
 
    course();
</script>

Producción: 
 

GeeksforGeeks
GFG

Ejemplo 2: Aquí, se crea un archivo gfg.txt y tan pronto como se lee el archivo, se imprime «Leer el archivo» en la consola. De lo contrario, imprime «error» cuando la ubicación del archivo es incorrecta o no puede leer el archivo por cualquier otro motivo. 
 

javascript

<script>
    async function gfg() {
        try {
            let f1 = await fs.promises.readFile("gfg.txt")
            console.log("Read the file")
        }
        catch (err) {
            console.log("error");
        }
    }
    gfg();
</script>

Producción: 
 

  • Cuando el archivo lee: 
     
Read the file
  • Cuando el archivo no se lee (error arrojado) 
     
error

Ejemplo 3: Este es un ejemplo de función asíncrona trabajando en paralelo.
 

javascript

<script>
    function cb() {
        return new Promise(function (resolve, reject) {
            setTimeout(function () {
                resolve("GFG")
            }, 2000)
 
        })
    }
 
    function cb1() {
        return new Promise(function (resolve, reject) {
            setTimeout(function () {
                resolve("GFG1")
            }, 1000)
 
        })
    }
 
    async function course() {
        console.log("GeeksforGeeks");
        const result1 = await cb1();
        const result = await cb();
        console.log(result1);
        console.log(result);
    }
 
    course();
</script>

Producción: 
 

GeeksforGeeks
GFG1
GFG

Navegadores compatibles: 
 

  • Google Chrome 55 y superior
  • Borde 15 y superior
  • Firefox 52 y superior
  • Safari 10.1 y superior
  • Ópera 42 y superior

Publicación traducida automáticamente

Artículo escrito por riarawal99 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *