GOOGLE ADS

lunes, 25 de abril de 2022

Sigo tratando de usar require para cargar en el módulo node fs y sigue dándome un error de devolución de llamada no válido, ¿cómo soluciono esto?

Aquí está el código fuente:

console.log('Starting app.');
const fs = require('fs');
fs.appendFile('greetings.txt', 'Hello world!');
fs.appendFileSync('greetings.txt', 'Hello world!');

cuando cargo la aplicación en la terminal, me sigue dando este mensaje de error.


Solución del problema

fs.appendFile()es la versión asíncrona de esa interfaz y requiere que el último argumento sea una devolución de llamada que le brinde condiciones de finalización y/o error.

Ver el documento.

fs.appendFile(path, data[, options], callback)

La devolución de llamada NO es opcional.

El uso adecuado de esa función sería este:

fs.appendFile('greetings.txt', 'Hello world!', err => {
if (err) {
console.log(err);
} else {
console.log("data appended successfully");
}
});

Además, tenga en cuenta que esto es asíncrono y no bloquea, por lo que se llamará a la devolución de llamada en un tiempo indeterminado más tarde (cuando finalice la adición), pero las siguientes líneas de código después de esto se ejecutarán inmediatamente (antes de que se llame a la devolución de llamada).

Otras interfaces relevantes son la versión prometida de la interfaz asíncrona:

fs.promises.appendFile(path, data[, options])

No pasa una devolución de llamada a esta versión. En su lugar, devuelve una promesa que utiliza para recibir una notificación de finalización/error.

fs.promises.appendFile('greetings.txt', 'Hello world!').then(() => {
console.log("data appended successfully");
}).catch(err => {
console.log(err);
});

Para las interfaces asíncronas, la versión de promesa es más nueva y se considera más moderna.

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...