ノードのファイルから読み込もうとしています。ここに私のコードはあります:なぜ私のreadFileSync関数は実行されていませんか?
何らかの理由で、readFileSyncがまったく実行されません。ログに記録されるのは「ファイルを読み終えました...」です
ただし、(同期ではなく)readFile()
に変更すると、この関数は実行されて正常に動作します。私は何が欠けていますか?
ノードのファイルから読み込もうとしています。ここに私のコードはあります:なぜ私のreadFileSync関数は実行されていませんか?
何らかの理由で、readFileSyncがまったく実行されません。ログに記録されるのは「ファイルを読み終えました...」です
ただし、(同期ではなく)readFile()
に変更すると、この関数は実行されて正常に動作します。私は何が欠けていますか?
readFileSync
は、同期型であるためコールバックパラメータを受け入れません。それはあなたが結果を何もしていないことだけだ、readFileSync
あるが実行されて、
var markup = fs.readFileSync(path, {encoding: "utf8"});
const $ = cheerio.load(markup);
// ...
を明確にする:あなたは、同期機能の下にコールバック内からコードを移動するようにコードを変更する必要がありますコールバックパラメータが無視されています。
fs.readFileSyncfs.readFile()の同期バージョン。パスの内容を返します コンテンツが返されると、実行するタスクを実行できます。 詳細については、次のリンクを参照してください。readFileSync
意見:あなたは非同期コードとコールバックを把握しているようですが、これはノードでのプログラミングの推奨方法です。メソッドを同期型に変更するのではなく、そのメソッドをそのまま使うことができます – CodingIntrigue
この特定のケースでは、実際には必要ありませんが、通常は –
これをキャッチしてくれてありがとう! –