如何在Node Webkit中同步编写文件?

时间:2015-06-04 07:33:34

标签: file node-webkit synchronous

我正在开发一个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);

但它们都不是同步的:即使节点JS doc表明这是这样做的方法,它们会立即返回:https://nodejs.org/api/fs.html#fs_fs_close_fd_callback

我做错了什么?

由于

1 个答案:

答案 0 :(得分:1)

也许你应该尝试使用writeFile并在其回调中完成其余的逻辑?

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