ホームページ > 記事 > ウェブフロントエンド > ノード Express フレームワークの res.send() と res.end() の簡単な分析
この記事では、node Express フレームワークについて説明し、Express の res.send() と res.end() について学びます。
Node.js
を使用するサーバー側のコードで、Express フレームワークを使用している場合は、リクエストに対して, 多くの場合、応答方法は 2 つあります:
// 方法1 app.get("/end", (req, res, next) =>{ res.end(xxx); }); // 方法2 app.get("/send", (req, res, next) =>{ res.send(xxx); });
それでは、これら 2 つの方法の違いは何でしょうか。それぞれのアプリケーション シナリオは何ですか?これが今日私が明らかにしなければならないことです。
定義
データ応答を必要とせずにすぐに終了できます。
このメソッドは実際にはノード コア、特に http.ServerResponse.Use
の response.end()
メソッドから来ています:
##構文
res.end([data[, encoding]][, callback])パラメータ分析:
##詳細オブジェクトを
res.end() メソッドに渡すと、エラーが発生します:
Express の res.send()
定義HTTP 応答メッセージを要求側クライアントに送信します。
構文res.send([body[,statusCode]])
body パラメータには、バッファ、オブジェクト、文字列、ブール値、または配列を指定できます。
さらに詳しく見るコードのデバッグを通じて、Express の
res.send() メソッドが最終的に呼び出されることがわかります。 http.ServerResponse.Use
の response.end()
メソッド: <pre class="brush:js;toolbar:false;">// node_modules/express/lib/response.js
res.send = function send(body) {
var chunk = body;
var encoding;
……
if (req.method === &#39;HEAD&#39;) {
// skip body for HEAD
this.end();
} else {
// respond
this.end(chunk, encoding);
}
return this;
};</pre>
Comparison
同じ点Express の res.end() メソッドと res.send() メソッドの類似点:
の response.end()
メソッド。
違いExpress の res.end() メソッドと res.send() メソッドの違い:
メソッドを使用するため、Express が内部でデータを処理するため、応答データの形式を気にする必要はありません。 ~この記事は終わりです、読んでいただきありがとうございました!
ノード関連の知識の詳細については、
nodejs チュートリアル以上がノード Express フレームワークの res.send() と res.end() の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。