Avatar ·

Cómo escribir datos correctamente en un archivo en Node.js: síncrono, asíncrono y mediante streams

¡Hola a todos! Soy nuevo en Node.js y estoy tratando de entender cómo escribir datos en archivos. He leído mucha documentación, pero me da vueltas la cabeza con la cantidad de métodos: `writeFile`, `writeFileSync`, `appendFile`, `createWriteStream`... ¿Cuándo usar cada uno? Tengo una aplicación simple para registrar las acciones del usuario. Quiero escribir cada acción en un archivo `log.txt`. Actualmente hago esto: ```javascript const fs = require('fs'); function logAction(action) { const data = `${new Date().toISOString()} - ${action}\n`; fs.writeFile('log.txt', data, (err) => { if (err) console.error('Error de escritura:', err); }); } logAction('Usuario inició sesión'); logAction('Usuario hizo clic en el botón "Comprar"'); ``` El problema es que a veces en el archivo solo aparece la última entrada, y a veces está completamente vacío. Sospecho que es debido a la asincronía, pero no entiendo cómo organizar correctamente la escritura secuencial. También he oído sobre `fs.promises`, sobre `writeFileSy