我有如下代码:代码仍然使用回调函数,我想改变使用承诺。我不知道该如何改变它们。你能帮我改一下吗
const fs = require('fs')
fs.readdir('/', (err, result) => {
if (err) {
throw new Error(err.message)
}
console.log(result)
})
fs.readdir('/')
已经承诺,您需要像您那样使用chaining
或使用语法糖在IIFE中使用async/await
来解决它
(async () => {
try{
const result = await fs.readdir('/');
console.log(result)
}catch(err){
console.log(err.message)
}
})();
如果您导入位于require('fs').promises
中的readdir()
的异步版本,则可以异步读取目录
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")