El módulo fs proporciona una API para interactuar con el sistema de archivos de una manera estrechamente modelada en torno a las funciones POSIX estándar. Todas las operaciones del sistema de archivos tienen formas sincrónicas y asincrónicas y, en su mayoría, la forma asincrónica toma una devolución de llamada de finalización como último argumento.
El método fs.fdatasync() (agregado en v0.1.96) es una interfaz de programación de aplicaciones incorporada del módulo fs que es similar a fs.fsync(), reduce la actividad del disco para aplicaciones que no requieren que se sincronicen todos los metadatos con el disco Los metadatos son necesarios para permitir la recuperación posterior de datos y deben manejarse correctamente, ya que no elimina los metadatos modificados.
Sintaxis:
fs.fdatasync(fd, callback);
Se puede acceder al módulo ‘ fs ‘ usando:
const fs = require('fs');
Parámetros: este método acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- fd < entero > : Este parámetro acepta valores de tipo < entero >.
- devolución de llamada < función > : este parámetro requiere una función de devolución de llamada, y tenga cuidado con las devoluciones de llamada anidadas o el infierno de devolución de llamada.
- err < Error > : arroja un error, si la función de devolución de llamada no se maneja correctamente.
Ejemplo 1: Nombre de archivo: index.js
Javascript
// Node.js program to demonstrate the // fs.fdatasync() method // Using require to access fs module const fs = require('fs'); // Basic demo of fs.fdatasync fs.fdatasync(1, err => { if (err) { console.log('error', err); } else { console.log('no-error'); } console.log("Data Sync..."); }) // alfa function function alfa() { console.log("Printing callback in " + "console from callback alfa... "); return "hiii"; } function data() { console.log("Printing callback in " + "console from data... "); } // Open the file fs.open('filename.txt', "a+", (err, fd) => { if (err) throw err; // Write our data fs.writeFile(fd, data, (err) => { // checking error if (err) throw err; // Force the file to be flushed fs.fdatasync(fd, function alfa(err) { if (err) throw err }); fs.fdatasync(5, data); // print after dataSync console.log("Writing 'data' in 'filename.txt'... ") }); });
Ejecute el archivo index.js con el siguiente comando:
node index.js
Producción:
error [Error: EBADF: bad file descriptor, fdatasync] { errno: -4083, code: 'EBADF', syscall: 'fdatasync' } Data Sync... Writing 'data' in 'filename.txt'... Printing callback in console from data...
Referencia: https://nodejs.org/api/fs.html#fs_fs_fdatasync_fd_callback
Publicación traducida automáticamente
Artículo escrito por amitkumarjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA