私はノードプロジェクトを持っています。 ルートファイルがindex.js
で、ファイルがhelper.js
の場合、ここではヘルパー機能がいくつかあり、それをindex.js
にインポートしました。 helper.js
で関数を使用してデータを取得しようとしていますが、index.js
で呼び出すとundefined
が返されます。 しかし、helper.js
には、私が必要とするデータを示すconsole.log
が表示されます。 この問題をどのように修正できますか?値を返すときは未定義です
index.jsファイルの内容:
const helper = require('./helper');
let data = helper.getData();
console.log(data); // undefined
helper.jsファイルの内容:
const fs = require('fs');
module.exports = {
getData:() => {
fs.readFile('data.json', 'utf8', (err, data) => {
const allData = JSON.parse(data);
console.log(allData); // IS OK!
return allData;
});
}
}
非同期関数の素晴らしい世界へようこそ – George
このトピックを見るhttp://stackoverflow.com/questions/20647346/simple-nodejs-callback-example-with-fs-readfile – Leguest
約束を使ってオブジェクトを取得する – Tushar