El método fs.promise.lstat() se define en el módulo Sistema de archivos de Node.js. El módulo de Sistema de Archivos es básicamente para interactuar con el disco duro de las computadoras de los usuarios. El método lstat() brinda información específica de archivos y carpetas utilizando métodos definidos en objetos de estadísticas (datos proporcionados por lstat). El método fs.promise.lstat() devuelve una promesa resuelta o rechazada y, por lo tanto, evita el anidamiento de devolución de llamada o los problemas infernales de devolución de llamada que pueden ocurrir en el método fs.readdir().
Sintaxis
fs.promise.lstat(path, options)
Parámetro: Este método acepta dos parámetros como se mencionó anteriormente y se describe a continuación:
ruta: Es una string, búfer o url que especifica la ruta al directorio, cuyo contenido intentamos leer.
options: Es un parámetro opcional. Un parámetro de opciones es ‘bigint’, es un valor booleano. Aquí, especificamos si el valor numérico en el objeto de estadísticas devuelto por el método fs.lstat() es bigint o no (predeterminado-falso).
Valor devuelto: Devuelve una promesa resuelta o rechazada. La promesa se resuelve con el objeto de estadísticas si el directorio se lee con éxito; de lo contrario, se rechaza con un objeto de error si se produce algún error (el directorio especificado en el ejemplo no existe o no tiene permisos para leer archivos, etc.).
El objeto de estadísticas devuelto por la promesa resuelta tiene algunas propiedades y métodos definidos que ayudan a obtener algunos detalles específicos sobre los archivos o carpetas de destino. Algunos de los métodos se especifican a continuación.
- stats.isDirectory(): Devuelve verdadero si el objeto stats describe un directorio del sistema de archivos.
- stats.isFile(): Devuelve verdadero si el objeto de estadísticas describe un archivo normal.
- stats.isSocket(): Devuelve verdadero si el objeto stats describe un socket.
- stats.isSymbolicLink(): Devuelve verdadero si el objeto stats describe un enlace simbólico.
- stats.isFile(): Devuelve verdadero si el objeto de estadísticas describe un archivo normal.
- stats.isFIFO(): Devuelve verdadero si el objeto stats describe el primero en entrar, el primero en salir.
- stats.size: especifica el tamaño del archivo en bytes.
- stats.blocks: especifica el número de bloques asignados para el archivo.
Ejemplo 1:
javascript
// Node.js program to demonstrate the // Buffer.from() Method // Importing File System module const fs = require('fs') // fs.readdir() reads contents of // target directory // process.cwd() gives current // working directory fs.readdir(process.cwd(), (err, filenames) => { if (err) { console.log(err) return } for (let filename of filenames) { // Calling lstat method to give the // stats object for every directory fs.promises.lstat(filename) // If promise resolved and datas // are fetched .then(stats => { if (stats.isFile()) { console.log(`${filename} ---------> File`) } else { console.log(`${filename} ---------> Folder`) } }) // If promise is rejected .catch(err => { console.log(err) }) } })
Producción:
Ejemplo 2:
javascript
// Node.js program to demonstrate the // Buffer.from() Method // Importing File System module const fs = require('fs') // The fs.readdir() method reads the // contents of target directory // The process.cwd() method gives the // current working directory fs.readdir(process.cwd(), async (err, filenames) => { if (err) { console.log(err) return } for (let filename of filenames) { // Calling lstat method to give the // stats object for every directory fs.promises.lstat(filename) // If promise resolved and datas // are fetched .then(stats => { console.log( `${filename} --------> ${stats.size} bytes`) }) // If promise is rejected .catch(err => { console.log(err) }) } })
Producción:
Referencia: https://nodejs.org/api/fs.html#fs_fspromises_lstat_path_options
Publicación traducida automáticamente
Artículo escrito por hunter__js y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA