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.