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!