2

ファイルを読み取り、いくつかの計算を行い、出力ファイルを書き込む node.js 用の JavaScript で記述した非常に単純なユーティリティ スクリプトがあります。現在の形式のソースは次のようになります。

fs.readFile(inputPath, function (err, data) {
    if (err) throw err;
    // do something with the data
    fs.writeFile(outputPath, output, function (err) {
        if (err) throw err;
        console.log("File successfully written.");
    });
});

これは正常に動作しますが、この場合、次のように、代わりにこれらの関数の同期型を使用することに何らかの欠点があるかどうか疑問に思っています。

var data = fs.readFileSync(inputPath);
// do something with the data
fs.writeFileSync(outputPath, output);
console.log("File successfully written.");

私にとって、これはさまざまなコールバックよりも読みやすく理解しやすいものです。この場合、前者の方法を使用する理由はありますか?

ローカルで実行しているこの単純なスクリプトでは、速度はまったく問題にならないことがわかりましたが、その背後にある理論を理解することに興味があります。非同期メソッドの使用が役立つのはいつですか? 本番アプリケーションであっても、ファイルを読み取るだけで、次のタスクの実行を待機している場合、非同期メソッドを使用する理由はありますか?

4

2 に答える 2