Tenemos una variedad de funciones, algunas funciones serán síncronas y otras serán asíncronas . Aprenderemos cómo ejecutarlos todos en secuencia.
Aporte:
listOfFunctions = [ () => { console.log("Synchronous Function); }, async () => new Promise(resolve => { setTimeout(() => { resolve(true); console.log("Asynchronous Function); }, 100); }), . . . ]
Enfoque 1: tratar todas las funciones como funciones asíncronas y ejecutarlas. Porque en Javascript, incluso si trata una función síncrona como función asíncrona, no hay problema.
Ejemplo:
index.js
// this is our list of functions let listOfFunctions = [ () => { console.log("Synchronous Function Called"); }, async () => new Promise(resolve => { setTimeout(() => { console.log("Asynchronous Function Called"); resolve(true); }, 100); }) ] // this function will be responsible // for executing all functions of list let executeListOfFunctions = async(listOfFunctions) => { for(let func of listOfFunctions){ await func(); } } // calling main function executeListOfFunctions(listOfFunctions);
Producción:
Enfoque 2: La idea es la misma, pero la implementación es fácil en este enfoque.
Ejemplo:
index.js
// this is our list of functions let listOfFunctions = [ () => { console.log("Synchronous Function Called"); }, async () => new Promise(resolve => { setTimeout(() => { console.log("Asynchronous Function Called"); resolve(true); }, 100); }) ] // this function will be responsible // for executing all functions of list let executeListOfFunctions = async(listOfFunctions) => { return Promise.all(listOfFunctions.map(func => func())); } // calling main function executeListOfFunctions(listOfFunctions);
Producción:
Publicación traducida automáticamente
Artículo escrito por pratikraut0000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA