如何在 Node Webkit 中同步写入一个文件?

How to write a file synchronously in Node Webkit?

我正在开发一个 Node webkit 桌面应用程序,我需要同步写入一个文件,即只有在文件完全写入磁盘时才执行代码行。

所以,我尝试了两种方法:

var fs = require('fs');
tmpFileName = "/the/path/to/my/file";
fileContent = "a big string";
myfile = fs.openSync(tmpFileName, "w");
fs.writeSync(myfile, fileContent);
fs.closeSync(myfile);

var fs = require('fs');    
fs.writeFileSync(tmpFileName, realContent);

但是其中 none 是同步的:它们立即 return 即使节点 JS 文档指示这是这样做的方式:https://nodejs.org/api/fs.html#fs_fs_close_fd_callback

我做错了什么?

谢谢

也许您应该尝试使用 writeFile 并在其回调中执行其余逻辑?

var fs = require('fs');    
fs.writeFile(tmpFileName, realContent, function(err){
  if(err){
    //Do your error logic
  }
  //Do your post writing logic
});