Skip to content

Commit 88c4bd7

Browse files
committed
#15 - JavaScript
1 parent 960b98b commit 88c4bd7

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Asincronia
2+
3+
4+
5+
/**
6+
* Función asíncrona que simula una tarea que tarda un tiempo en completarse.
7+
* @param {string} nombre - El nombre de la tarea.
8+
* @param {number} segundos - El número de segundos que durará la tarea.
9+
*/
10+
async function ejecutarTarea(nombre, segundos) {
11+
const inicio = new Date();
12+
console.log(`[${inicio.toLocaleTimeString()}] Tarea "${nombre}" iniciada. Duración: ${segundos} segundos.`);
13+
14+
// Simulamos la tarea asíncrona con un setTimeout dentro de una promesa
15+
await new Promise((resolve) => {
16+
setTimeout(resolve, segundos * 1000);
17+
});
18+
19+
const fin = new Date();
20+
console.log(`[${fin.toLocaleTimeString()}] Tarea "${nombre}" finalizada.`);
21+
}
22+
23+
/**
24+
* Función principal para ejecutar tareas asíncronas.
25+
*/
26+
async function main() {
27+
// Ejecutamos varias tareas asíncronas
28+
await ejecutarTarea("Tarea 1", 3); // Tarea 1 dura 3 segundos
29+
await ejecutarTarea("Tarea 2", 5); // Tarea 2 dura 5 segundos
30+
await ejecutarTarea("Tarea 3", 2); // Tarea 3 dura 2 segundos
31+
32+
console.log("Todas las tareas han finalizado.");
33+
}
34+
35+
// Llamamos a la función principal
36+
main();

0 commit comments

Comments
 (0)