存在しない場合には何もしません。ただし、ファイルが存在しない場合は何もしません。それは永遠にそこにぶら下がっているだけです。fs.readFileSyncは、ファイルが、私はこのコードを使用してファイルの内容を読み取るしようとしています
1つの解決方法は、ファイルを読み込もうとする前にファイルが存在するかどうかをチェックすることですが、fs
モジュールの一部であると期待していました。
これはほとんどすべてのコードですが、問題はありますか?私はできません。
for (var i=0; i<configFiles.length;i++){
waterfallMain(configFiles[i]);
}
//var importDefinition = config.importDefinition;
function waterfallMain(configFile){
async.waterfall([
function(callback){
sftpHandler.downloadFile(credentials.host, credentials.username, credentials.password, credentials.path+configFile.importFileName, callback);
console.log("Downloading done. Changing file encoding and reading data.");
readFileSync_encoding(configFile.importFileName, "ISO-8859-1", callback);
},
function(fileData, callback) {
mainProcess(fileData, callback);
},
function(data, callback) {
postImportDefinition(data, callback);
},
function(data, uri, callback) {
postData(data, uri, callback);
},
function(syncUri, callback) {
getSyncResponseInIntervals(syncUri, callback);
}],
// the bonus final callback function
function(err, status) {
if (err) {
console.log(err);
}
console.log(status);
return;
});
}
function readFileSync_encoding(filename, encoding, callback) {
var content = fs.readFileSync(filename);
callback(null, iconvlite.decode(content, encoding));
return;
}
EDIT:
問題は、私は、私はそれをローカルに実行したとき、私はエラーを受け取った
c9.io使用してきたIDEで実際にしました。 興味深い発見。
存在しないファイルに対してこのコマンドを実行すると、例外がスローされます。 'エラー:ENOENT:そのようなファイルやディレクトリはありません.'not-here.txt''を開きます。例外をキャッチして黙って無視していないと確信していますか? – MrWillihog
それはそれを説明することは事実です。私は滝で呼び出されたそのメソッドを持っていると私はエラーをキャッチする必要があるポイントにコンソールログを置く場合でも、または私はブレークポイントを置く、それは実行されません。私は他の扱いがありません。しかし、より良いチェックを行います。 –