Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查文件是否存在,如果存在则返回_Javascript_Node.js_Asynchronous - Fatal编程技术网

Javascript 检查文件是否存在,如果存在则返回

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 <

我正在使用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 < 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;

};