Sync 对比 Async 对比 Async/Await 在 fs-extra 中 - NodeJS
fs-extra 简介
在继续了解 fs-extra 之前,必须了解 fs 文件系统的基础知识。fs-extra 是 fs 文件系统的扩展,且所含方法比之更多。它添加了一些原生的 fs 模块中没有的文件方法系统。fs-extra 为 fs 方法添加了对承诺的支持,因此比 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 imported for use
const fs = require('fs-extra')
// Copying file using Async with promises:
fs.copy('/tmp/myfile, '/tmp/myAsyncNewfileWithPromise')
.then(() => console.log('Async Promise Success!'))
.catch(err => console.error(err))
// Copying file using Async with callbacks:
fs.copy('/tmp/myfile', '/tmp/myAsyncNewfileWithCallback', err => {
if (err) return console.error(err)
console.log('Async Callback Success!')
})
// Copying file using Sync:
try {
fs.copySync('/tmp/myfile', '/tmp/mySyncNewfile')
console.log('Sync Success!')
} catch (err) {
console.error(err)
}
// Copying file using 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("All files copied succesfully !!!")输出
C:\Users\tutorialsPoint\> node copyFiles.js Sync Success! All files copied succesfully !!! Async Promise Success! Await Success! Async Callback Success!
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP