fs-extra 中的同步 vs 异步 vs 异步/等待 - NodeJS
fs-extra简介
在继续使用fs-extra之前,必须对fs文件系统有基本的了解。fs-extra是fs文件系统的扩展,比它有更多的方法。它添加了一些在naivefs模块中没有的文件方法系统。fs-extra为fs方法添加了promise支持,因此比fs更好。
安装
npm install fs-extra
语法
fs-extra是原生fs文件系统的替代品。fs中的所有方法也都附加到fs-extra。因此,您不需要再次包含fs。
const fs = require('fs-extra');默认情况下,fs-extra提供的大多数方法都是异步的。如果没有配置任何回调,异步方法将返回一个承诺。
示例
在继续之前检查是否安装了fs-extra
可以使用以下命令查看是否安装了fs-extra
npm ls fs-extra
创建一个copyFiles.js并将以下代码片段复制粘贴到该文件中
现在,运行以下命令来运行以下代码片段
node copyFiles.js
代码片段-
//fs-extra导入使用
const fs = require('fs-extra')
//使用带有承诺的异步复制文件:
fs.copy('/tmp/myfile, '/tmp/myAsyncNewfileWithPromise')
.then(() => console.log('Async Promise Success!'))
.catch(err => console.error(err))
//使用带有回调的异步复制文件:
fs.copy('/tmp/myfile', '/tmp/myAsyncNewfileWithCallback', err => {
if (err) return console.error(err)
console.log('Async Callback Success!')
})
//使用同步复制文件:
try {
fs.copySync('/tmp/myfile', '/tmp/mySyncNewfile')
console.log('Sync Success!')
} catch (err) {
console.error(err)
}
//使用Async/Await复制文件:
async function copyFiles () {
try {
await fs.copy('/tmp/myfile', '/tmp/myAwaitFile')
console.log('Await Success!')
} catch (err) {
console.error(err)
}
}
copyFiles()
console.log("所有文件复制成功!!!")输出结果C:\Users\nhooo\> node copyFiles.js Sync Success! 所有文件复制成功!!! Async Promise Success! Await Success! Async Callback Success!