Las Promesas en ES6 son una forma de manejar las operaciones asincrónicas en JavaScript, proporcionando un método más fácil y elegante para manejar callbacks y flujos de control. Fueron introducidas en ES6 y son ampliamente soportadas en Node.js.
Aquí te dejo un ejemplo de cómo puedes utilizarlas:
```js
// Incluye la biblioteca de sistema de archivos
var fs = require(‘fs’);
// Definir una función que retorna una Promesa
function leerArchivo(path) {
return new Promise(function(resolve, reject) {
fs.readFile(path, ‘utf8’, function(err, data) {
if (err) {
// Si hay un error, rechaza la promesa
reject(err);
} else {
// Si todo salió bien, resuelve la promesa
resolve(data);
}
});
});
}
// Utiliza nuestra función
leerArchivo(‘miarchivo.txt’)
.then(function(data) {
// Los datos del archivo están disponibles aquí
console.log(data);
})
.catch(function(err) {
// Los errores de lectura del archivo se capturan aquí
console.error(‘Se produjo un error!’, err);
});
```
En este código, creamos una nueva Promesa que intenta leer un archivo. Si la lectura es exitosa, resolvemos la Promesa (con `resolve(data)`) y los datos se pasan como argumento a la función `.then()`. Si ocurre un error, rechazamos la Promesa (con `reject(err)`) y el error se pasa como argumento a la función `.catch()`.