fs模塊提供了一種API,用於以圍繞標準POSIX函數進行緊密建模的方式與file-system進行交互。所有文件係統操作都具有同步和異步形式,並且大多數異步形式將完成回調作為其最後一個參數。
fs.fdatasync()(在v0.1.96中添加)方法是fs模塊的內置應用程序編程接口,類似於fs.fsync(),它減少了不需要將所有元數據與磁盤同步的應用程序的磁盤活動。需要元數據以允許後續數據檢索應正確處理,因為它不會刷新已修改的元數據。
用法:
fs.fdatasync(fd, callback);
可以使用以下命令訪問“ fs”模塊:
const fs = require('fs');
參數:此方法接受上麵提到和下麵描述的兩個參數:
- fd <integer>:此參數接受<integer>類型值。
- callback<function>:此參數需要一個回調函數,並提防嵌套回調或回調地獄。
- err <錯誤>:如果未正確處理回調函數,則引發錯誤。
範例1: 文件名:index.js
Javascript
// Node.js program to demonstrate the
// fs.fdatasync() method
// Using require to access fs module
const fs = require('fs');
// Basic demo of fs.fdatasync
fs.fdatasync(1, err => {
if (err) {
console.log('error', err);
}
else {
console.log('no-error');
}
console.log("Data Sync...");
})
// alfa function
function alfa() {
console.log("Printing callback in "
+ "console from callback alfa... ");
return "hiii";
}
function data() {
console.log("Printing callback in "
+ "console from data... ");
}
// Open the file
fs.open('filename.txt', "a+", (err, fd) => {
if (err)
throw err;
// Write our data
fs.writeFile(fd, data, (err) => {
// checking error
if (err)
throw err;
// Force the file to be flushed
fs.fdatasync(fd, function alfa(err) {
if (err)
throw err
});
fs.fdatasync(5, data);
// print after dataSync
console.log("Writing 'data' in 'filename.txt'... ")
});
});
使用以下命令運行index.js文件:
node index.js
輸出:
error [Error:EBADF:bad file descriptor, fdatasync] { errno:-4083, code:'EBADF', syscall:'fdatasync' } Data Sync... Writing 'data' in 'filename.txt'... Printing callback in console from data...
參考: https://nodejs.org/api/fs.html#fs_fs_fdatasync_fd_callback
相關用法
- Node.js console.timeLog()用法及代碼示例
- Node.js fs.fsyncSync()用法及代碼示例
- Node.js process.nextTick()用法及代碼示例
- Node.js GM charcoal()用法及代碼示例
- Node.js GM blur()用法及代碼示例
- Node.js GM sharpen()用法及代碼示例
- Node.js GM drawLine()用法及代碼示例
- Node.js GM drawArc()用法及代碼示例
- Node.js GM drawPolyline()用法及代碼示例
- Node.js GM drawBezier()用法及代碼示例
- Node.js GM drawCircle()用法及代碼示例
注:本文由純淨天空篩選整理自vikas_g大神的英文原創作品 Node.js fs.fdatasync() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。