Node.js fs.fdatasyncSync() 方法
fs(文件系统)模块能够以模仿标准 POSIX 函数的方式与文件系统交互,这意味着我们可以使用计算机的文件系统执行 I/O 操作。就像从文件中读取数据,向文件中写入数据等一样。所有的文件系统操作都有同步和异步形式,并且大多数异步形式都将完成回调作为其最后一个参数。
fs.fdatasyncSync()(v0.1.96 中添加)方法是 fs.fdatasync() 的同步版本。
fs.fdatasync() 方法是 fs(File System) 模块的一个内置 API(Application Programming Interface),类似于 fs.fsync() 方法,fs.fsync() 传输(或刷新)文件的所有修改数据到磁盘内存,以便即使系统崩溃或重新启动也可以检索所有更改的信息,但 fdatasync() 方法不会传输或刷新修改的元数据,除非需要该元数据以允许正确的后续数据写入/读取处理。
fdatasyncSync() 和 fdatasync() 方法都减少了不必要的磁盘活动。
句法:
// Require fs module at the top of this .js file
const fs = require('fs');
fs.fdatasyncSync(fd);
参数: fs.fdatasyncSync() 方法只带一个参数。
- fd
:这是一个整数类型值。
示例:在 main.js 文件中,编写以下代码。
Javascript
// Node.js program to demonstrate the
// fs.fdatasyncSync() method
// Using require to access fs module
const fs = require('fs');
// Data function which we'll write to data.js
function data() {
console.log("Hi this is data function");
}
// Open the file
fs.open('data.js', "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.fdatasyncSync(fd); //return undefined
// Print after dataSync
console.log("Writing 'data' in 'data.js'... ")
});
});
使用节点 main.js运行文件
输出:
Writing 'data' in 'data.js'
参考: https://nodejs.org/api/fs.html#fs_fs_fdatasyncsync_fd