Node.js: eliminare i file in modo sicuro con le Promise

In Node.js possiamo rimuovere i file in modo sicuro utilizzando le Promise.

La soluzione รจ la seguente:


'use strict';

const fs = require('fs');
const path = require('path');
const ABSPATH = path.dirname(process.mainModule.filename);

module.exports = {
    removeFile: (path) => {
        let fullPath = ABSPATH + path;
        return new Promise( (resolve, reject ) => {
            if(fs.existsSync(fullPath)) {
                try {
                   fs.unlinkSync(fullPath);
                   resolve(path);
                } catch(e) {
                   reject({
                       status: 500,
                       msg: e.message
                    });
                }
            } else {
                reject({
                   status: 404,
                   msg: 'Not Found'
                });
            }
        });
    }
};

Esempio d'uso:


'use strict';

const remove = require('./lib/utils').removeFile;

remove('/images/test.gif').then(path => {
  console.log(path);
}).catch(err => {
    console.log(err);
});

Torna su