async/await でファイルを適切に読み取るにはどうすればいいですか? 質問する

async/await でファイルを適切に読み取るにはどうすればいいですか? 質問する

async仕組みがわかりませんawait。少しは理解しているのですが、うまく動作しません。

function loadMonoCounter() {
    fs.readFileSync("monolitic.txt", "binary", async function(err, data) {
       return await new Buffer( data);
  });
}

module.exports.read = function() {
  console.log(loadMonoCounter());
};

わかっています、 を使うこともできますreadFileSyncが、そうすると、決して理解できずasyncawait問題を忘れてしまうことになるでしょう。

目標:loadMonoCounter()ファイルの内容を呼び出して返します。

このファイルは、呼び出されるたびにincrementMonoCounter()(ページがロードされるたびに)増加します。ファイルには、バッファのダンプがバイナリ形式で含まれており、SSD に保存されます。

undefined何をしても、コンソールにエラーが表示されます。

ベストアンサー1

Node v11.0.0 以降、fs promise は以下なしでネイティブに利用できますpromisify

const fs = require('fs').promises;
async function loadMonoCounter() {
    const data = await fs.readFile("monolitic.txt", "binary");
    return Buffer.from(data);
}

おすすめ記事