📜  Node.js fs.fdatasyncSync() 方法

📅  最后修改于: 2022-05-13 01:56:47.596000             🧑  作者: Mango

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