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