I have a code like this below. The code still use callback function and i want to change using promise. I hesistate how to change them. can you help how change it
const fs = require('fs')
fs.readdir('/', (err, result) => {
if (err) {
throw new Error(err.message)
}
console.log(result)
})
CodePudding user response:
fs.readdir('/') is already promise, you need to resolve it either with chaining like you did or with syntax sugare using async/await inside IIFE
(async () => {
try{
const result = await fs.readdir('/');
console.log(result)
}catch(err){
console.log(err.message)
}
})();
CodePudding user response:
Provided that you import asycronous version of readdir() which is located in require('fs').promises you can read directories asyncronouly
const fs = require('fs').promises
const asyncReadDir = async(dirName) => {
try {
const dirData = await fs.readdir(dirName)
console.log("Read successfully")
// other code here
} catch(error){
// catch errors
console.log(error)
}
}
asyncReadDir("/downloads")
