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!

更新于: 2021 年 4 月 28 日

334 次浏览

开启您的职业生涯

通过完成课程获得认证

立即开始
广告
© . All rights reserved.