Javascript 检查文件是否存在,如果存在则返回
我正在使用Node.js,我想检查文件是否存在,并将结果返回到对象的属性。我试着这样做:Javascript 检查文件是否存在,如果存在则返回,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我正在使用Node.js,我想检查文件是否存在,并将结果返回到对象的属性。我试着这样做: var file_exists = function(file) { return fs.stat(file, function(error, stat) { if (error) { return false; } else { return true; } }); }; result = []; for (var i = 0; i <
var file_exists = function(file) {
return fs.stat(file, function(error, stat) {
if (error) {
return false;
} else {
return true;
}
});
};
result = [];
for (var i = 0; i < files.length; i++) {
result.push({
exists: file_exists(file[i])
});
}
var file\u exists=函数(文件){
返回fs.stat(文件,函数(错误,stat){
如果(错误){
返回false;
}否则{
返回true;
}
});
};
结果=[];
对于(var i=0;i
但是返回的是未定义的。这是因为异步
我怎样才能解决这个问题
谢谢。您犯了一个概念错误,当您执行fs.stat时,回调在其自己的范围内运行。返回true/false,不在文件_exists函数范围内返回 你可以用
是的,很抱歉没有提到。
var file_exists = function(file) {
try {
fs.statSync(file);
} catch (e) {
return false;
}
return true;
};