Closed KarlaMacedo closed 1 year ago
.
Para crear una promesa en JavaScript, puedes utilizar la clase Promise. La clase Promise acepta una función llamada executor como argumento, que a su vez tiene dos parámetros: resolve y reject.
const miPromesa = new Promise((resolve, reject) => {
// Lógica de la promesa
// Si la operación se completa con éxito, llama a resolve con el resultado
resolve('Operación completada');
// Si hay un error, llama a reject con el motivo del error
// reject('Ocurrió un error');
});
En el ejemplo anterior, la promesa miPromesa se crea con un executor que tiene dos funciones, resolve y reject. Dentro de la lógica de la promesa, puedes realizar cualquier operación asíncrona, como una solicitud HTTP, una lectura de archivo, una consulta a una base de datos, entre otros.
Si la operación se completa con éxito, llamas a resolve y pasas el resultado deseado. Si ocurre un error, llamas a reject y pasas el motivo del error.
Una vez que tienes la promesa creada, puedes encadenar métodos como .then() y .catch() para manejar el resultado o el error de la promesa.
miPromesa
.then((resultado) => {
console.log('Éxito:', resultado);
})
.catch((error) => {
console.error('Error:', error);
});
En este ejemplo, el método .then() se ejecutará cuando la promesa se resuelva con éxito, y el método .catch() se ejecutará si ocurre un error durante la ejecución de la promesa.
Recuerda que dentro de la función del executor puedes realizar operaciones asíncronas, como llamadas a API, lecturas de archivos, consultas a bases de datos, y cuando estas operaciones se completen, debes llamar a resolve o reject para indicar el resultado de la promesa.
En JavaScript, cuando necesitamos ejecutar múltiples tareas asincrónicas al mismo tiempo y esperar a que todas se completen, podemos utilizar el patrón de "array de promesas". Un array de promesas es simplemente un array que contiene múltiples promesas que representan tareas asincrónicas.
La función Promise.all
nos permite trabajar con este array de promesas. Toma un array de promesas como argumento y devuelve una nueva promesa que se resuelve cuando todas las promesas del array se han resuelto o se rechaza si alguna de las promesas se rechaza.
Para buscar links dentro de archivos Markdown (.md), puedes utilizar expresiones regulares para buscar patrones que se asemejen a la sintaxis de un enlace. Aquí tienes un ejemplo de cómo podrías hacerlo:
En este código, hemos agregado dos funciones: searchLinksInFile y searchLinksInDirectory. La primera se encarga de buscar links dentro de un archivo específico, utilizando una expresión regular para encontrar coincidencias con la sintaxis de un enlace Markdown. La segunda función busca links en todos los archivos dentro de un directorio, de forma recursiva.
Al ejecutar el código, se buscarán los links en todos los archivos dentro del directorio especificado (mainDirectory), y se mostrarán por consola los links encontrados.
Recuerda adaptar el código según tus necesidades y estructura de archivos.