Saltar al contenido

fs.exists, fs.existsSync: ¿por qué están obsoletos?

Solución:

No es necesario utilizar fs.stat (), porque fs.existsSync () no ha quedado obsoleto.

https://nodejs.org/api/fs.html#fs_fs_existssync_path

fs.existsSync (ruta)

Agregado en: ruta v0.1.21 | Versión sincrónica de fs.exists (). Devuelve verdadero si el archivo existe, falso en caso contrario.

Tenga en cuenta que fs.exists () está en desuso, pero fs.existsSync () no. (El parámetro callback> para fs.exists () acepta parámetros que son inconsistentes con otras> devoluciones de llamada de Node.js. fs.existsSync () no usa una devolución de llamada).

Lo creo porque es redundante. Puede comprobar si existe un archivo intentando abrirlo. Te dará ENOENT si no existe:

> fs.open('foo', 'r', function(err, fd) {
    ... console.log(err, fd);
    ... 
})
undefined
> { [Error: ENOENT, open 'foo'] errno: 34, code: 'ENOENT', path: 'foo' } undefined

Ser desaprobado porque es un anti-patrón según algunos. Es decir, no es seguro confiar existe () y luego hacer algo con el archivo porque el archivo se puede eliminar entre la llamada existente y la llamada de hacer algo.

Estoy de acuerdo en el caso anterior. Pero para mí, hay más uso de existe (). Coloco archivos ficticios vacíos en mis directorios temporales y de caché. Cuando actúo peligroso operaciones, como eliminar archivos antiguos del directorio de caché. Busco mi archivo ficticio para asegurarme de que no estoy operando en el directorio incorrecto. Es decir, solo necesito confirmar que el archivo está allí. Exists se adapta perfectamente a la factura para esto, pero supongo que cambiaré a usar stat () en su lugar.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *