2016-11-16 4 views
0

경로를 사용하고 해당 디렉토리 내의 모든 파일을 반환하는 함수를 작성하려고합니다. 나는이 작업을 수행 할 때fs.readdir은 함수 내에서 호출 될 때 undefined를 반환합니다.

는 :

function getDirectories(path) { 
    fs.readdir(path, function(err, content) { 
    if (err) { 
     return err; 
    } else { 
     return content; 
    } 
    }); 
} 

console.log(getDirectories('./XML/')); 

나는 콘솔에 undefined를 얻을. 나는이 작업을 수행 할 때

는하지만 :

function getDirectories(path) { 
    fs.readdir(path, function(err, content) { 
    if (err) { 
     return err; 
    } else { 
     console.log(content); 
    } 
    }); 
} 

나는 문자열로 파일 이름이 예상되는 배열을 얻는다.

내가 뭘 잘못하고 있니?

+0

는 readdir은 비동기이기 때문에 그 -이 또한 정의되지 않은 반환'fs.readdirSync' – naortor

답변

2

fs.readdir는 비동기이 사용된다

function getDirectories(path, callback) { 
    fs.readdir(path, function (err, content) { 
     if (err) return callback(err) 
     callback(null, content) 
    }) 
} 

getDirectories('./XML', function (err, content) { 
    console.log(content) 
}) 
+0

를 사용해보십시오 –

+0

그냥 편집을했다 –