replaced promises with async/await

This commit is contained in:
Daniel Sommer 2022-02-24 10:31:01 +01:00
parent 53efde189f
commit ad111f7709

View file

@ -1,29 +1,31 @@
const realpath = require('fs').realpath;
const stat = require('fs').stat;
function fileExists(file) {
return new Promise((resolve, reject) => {
if (file === undefined) {
reject('can not check the existence of an undefined file');
}
resolvePath(file)
.then((path) => {
stat(path, (err, stats) => {
if (err) {
reject(err);
}
resolve({ path, stats });
})
})
.catch(reject);
async function fileExists(file) {
if (file === undefined) {
throw new Error('can not check the existence of an undefined file');
}
let path;
try {
path = await resolvePath(file);
} catch (err) {
throw err;
}
return await new Promise((resolve, reject) => {
stat(path, (err, stats) => {
if (err) {
reject(err);
}
resolve({path, stats});
})
});
}
function resolvePath(file) {
return new Promise((resolve, reject) => {
if (file === undefined) {
reject('can not resolve a path to an undefined file');
}
async function resolvePath(file) {
if (file === undefined) {
throw new Error('can not resolve a path to an undefined file');
}
return await new Promise((resolve, reject) => {
realpath(file, (err, resolvedPath) => {
if (err) {
reject('resolving path \'' + file + '\' encountered an error >>> ' + err);