我在nodejs的FS核心中遇到Sync功能问题.例如,我有一个具有此语法的nodejs文件
var y; fs.accessSync("real_exixs_path", fs.R_OK | fs.W_OK, function(err) { if (err) { console.log("File error!"); } else { y = "foo"; } });
运行此代码后,全局"y"变量仍然保留undefined
,并且不会设置为"foo".有人能帮我吗?
接受的答案有错误,无论文件是否存在,它都将始终"成功".
更正版本:
try{ require('fs').accessSync("filename.ext", fs.R_OK | fs.W_OK) //code to action if file exists }catch(e){ //code to action if file does not exist }
或者,将其包装在一个函数中:
function fileExists(filename){ try{ require('fs').accessSync(filename) return true; }catch(e){ return false; } }