La función asíncrona se puede escribir en Node.js usando ‘async’ antes del nombre de la función. La función asincrónica devuelve Promise implícita como resultado. La función asíncrona ayuda a escribir código basado en promesas de forma asíncrona a través del bucle de eventos. Las funciones asíncronas siempre devolverán un valor. La función Await se puede usar dentro de la función asincrónica para esperar la promesa. Esto obliga al código a esperar hasta que la promesa devuelva un resultado.
Instale async desde npm en Node.js usando el siguiente comando:
npm i async
Use async dentro de su proyecto Node.js usando el método require().
Ejemplo 1: crear una función asíncrona para calcular el cuadrado de un número dentro de Node.js.
- Cree una carpeta de proyecto.
- Use el siguiente comando para inicializar el archivo package.json dentro de la carpeta del proyecto.
npm init -y
- Instale async usando el siguiente comando:
npm i async
- Cree un archivo server.js y escriba el siguiente código dentro de él.
- Ejecute el código usando
npm start
var async = require("async"); function square(x) { return new Promise((resolve) => { setTimeout(() => { resolve(Math.pow(x, 2)); }, 2000); }); } async function output(x) { const ans = square(x); console.log(ans); } output(10); var async = require("async"); function square(x) { return new Promise((resolve) => { setTimeout(() => { resolve(Math.pow(x, 2)); }, 2000); }); } async function output(x) { const ans = await square(x); console.log(ans); } output(10);
Producción:
Ejemplo 2: Cree una función asíncrona para calcular la suma de dos números dentro de Node.js usando await. Realice el procedimiento anterior para crear un proyecto de Node.js.
var async = require("async"); function square(a, b) { return new Promise(resolve => { setTimeout(() => { resolve(a + b); }, 2000); }); } async function output(a, b) { const ans = await square(a, b); console.log(ans); } output(10, 20);
Producción:
Publicación traducida automáticamente
Artículo escrito por chaitanyashah707 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA