fs.promises 模块是 Node.js v10.0.0 引入的一个新特性,它提供了对文件系统操作的 Promise 风格封装。相比于传统的回调风格的 fs.readFile,使用 fs.promises.readFile 可以更方便地进行异步操作。
主要区别如下:
fs.promises.readFile返回一个 Promise 对象,可以使用async/await或.then/.catch进行异步处理,而fs.readFile需要传入回调函数进行处理。- 使用
fs.promises可以使代码更加简洁和易读,不需要显式地定义回调函数,可以直接在函数中使用await关键字处理异步操作。 fs.promises还提供了其他方法,如fs.promises.writeFile、fs.promises.readdir等,都是使用 Promise 进行封装的。
举个例子,使用 fs.promises 进行文件读取:
const fs = require('fs').promises
const readData = async () =>{
try{
const data = await fs.readFile("path/text.txt",'utf-8')
console.log(data)
}catch(error){
console.log(error)
}
}
readData()
使用 fs.readFile 进行文件读取
const fs = require('fs')
const readData = () =>{
fs.readFile('path/text.txt','utf-8',(error,data) =>{
if(error){
console.log(error)
}else{
console.log(data)
}
})
}