[解決済み] readFile()とreadFileSync()の違いについて
2023-06-08 19:18:23
質問
以下のコードは、index.htmlの内容(hello worldというテキストが含まれているだけ)をブラウザに出力しています。しかし
readFile()
を
readFileSync()
を指定した場合、リクエストはタイムアウトします。
何が足りないのでしょうか?別の種類のバッファが必要なのでしょうか?私はnode 0.61とexpress 2.4を使用しています。
var express = require('express');
var fs = require('fs');
var app = express.createServer(express.logger());
app.get('/', function(request, response) {
fs.readFile('index.html', function(err, data){
response.send(data.toString());
});
});
var port = process.env.PORT || 5000;
app.listen(port, function() {
console.log("Listening on " + port);
});
どのように解決するのですか?
fs.readFile は、あなたが示したようにresponse.sendを呼び出すコールバックを取ります - 良い。 もし、これを単に fs.readFileSync と置き換えると、コールバックを取らないので、response.send を呼び出すコールバックは決して呼び出されず、したがって、レスポンスは決して終了せず、タイムアウトになることに注意する必要があります。
単にreadFileをreadFileSyncに置き換えていないのであれば、readFileSyncコードを表示する必要があります。
また、念のためですが、あなたは は決して を呼び出すべきではありません。なぜなら、I/O が実行されている間、シングルスレッド ループを拘束してしまうからです。 I/Oが完了し、コールバック処理コードが実行できるようになるまで、ノードループで他のリクエストを処理するようにします。
関連
-
[解決済み] -saveと-save-devの違いは何ですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] package.jsonのチルダ(~)とキャレット(^)の違いは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] Bowerとnpmの違いは何ですか?
-
[解決済み] JavaScriptのnullとundefinedの違いは何ですか?
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] Prototypeを使ってtextareaを自動サイズ調整するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JSのDateからDay名
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] node.jsで文字列のsha1ハッシュを取得するにはどうすればよいですか?
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] オブジェクトの配列からReactコンポーネントをレンダリングする
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
-
[解決済み] これは純関数ですか?