次のコードブロックを考慮して、loadConfig()がJSON構成オブジェクトを返すのはどうでしょうか?返された設定は、変数設定として定義されていないJavascriptネストされた関数が返される
function loadConfig(){
fs.readFile('./config.json', 'utf8', function (err, data){
if (err) throw err;
var config = JSON.parse(data);
});
return config;
};
はloadConfig()関数の範囲外で、まだreturn文がreadFileの匿名関数の内部に位置している場合、それは(loadConfigに通って落下しません)、一見ネストされた無名関数を破るだけです。
これを解決する別の試みは、メイン関数loadConfigによって返される変数に無名関数を保存しても無駄になります。
function loadConfig(){
var config = fs.readFile('./config.json', 'utf8', function (err, data){
if (err) throw err;
var config = JSON.parse(data);
return config;
});
return config;
};
上に示した状況では、loadConfig()はconfig JSONオブジェクトをどのように返しますか?
'readFile'はasyncなので、その関数から' return'することはできません。 – tymeJV
約束を読む – Roljhon
約束はあなたの友人です! –