"learnyounode"를 사용하여 node.js를 배우려고합니다. 폴더 경로와 파일 확장자 유형을 입력으로 가져온 다음 해당 폴더에있는 해당 유형의 모든 파일을 출력으로 제공해야하는 곳이 있습니다. 이 프로그램 구축 한 :node.js의 콜백 함수에서 객체를 배열에 푸시 할 수없는 이유는 무엇입니까?
var fs = require('fs');
var pathModule = require('path');
var path = process.argv[2];
var ext = '.'.concat(process.argv[3]);
filteredList = [];
fs.readdir(path,function doneReading(err, list){
for(var i = 0; i < list.length; i++){
if(pathModule.extname(list[i]) == ext){
filteredList.push(list[i]);
}
}
})
for(var i = 0; i < filteredList.length; i++){
console.log(filteredList[i]);
}
을 몇 가지 이유
filteredList.push(list[i]);
의 filteredList의 내용에 영향을 미치지 않습니다. 왜 이런거야? console.log를 readdir-function 내부로 옮겨서 운동을 해결했지만 psuh가 작동하지 않는 이유는 모르겠습니다.
fs.readdir가 비동기이 당신의 코드를 변경 시도 –