私は関数csvFileToArray
を持つシンプルなJSオブジェクトを記述しました。関数は、解析されたCSV配列を返す必要があります。readFileSyncに渡された匿名関数がデータを返さない
問題は、readFileSync
に渡される匿名関数の出力がないことです。
test1
はコンソールに正しくログされますが、test2
は正しくログに記録されません。
node.jsで初めてです。間違っていますか?
var passwdArray = [];
var csv = function() {
this.csvFileToArray = function (fileName, delimiter) {
console.log("test1");
var fs = require('fs');
fs.readFileSync(fileName, 'utf8', function(err, data) {
console.log("test2");
if (err) {
throw err;
} else {
var csvLineArray = data.split("\n");
var csvArray = [];
csvArray['header'] = csvLineArray[0].split(delimiter);
csvArray['data'] = [];
for(var i = 1; i < csvLineArray.length; i++) {
csvArray['data'].push(csvLineArray[i].split(delimiter));
}
return csvArray;
}
});
}
}
var csvHandler = new csv();
var test =csvHandler.csvFileToArray('test.csv', ',');
console.log(test);
csvhandler関数にコールバックがないため、その関数が機能しません –