ホームページ  >  記事  >  ウェブフロントエンド  >  ノード Express フレームワークの res.send() と res.end() の簡単な分析

ノード Express フレームワークの res.send() と res.end() の簡単な分析

青灯夜游
青灯夜游転載
2022-01-21 18:57:022099ブラウズ

この記事では、node Express フレームワークについて説明し、Express の res.send() と res.end() について学びます。

ノード 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 つの方法の違いは何でしょうか。それぞれのアプリケーション シナリオは何ですか?これが今日私が明らかにしなければならないことです。

Express res.end()

定義

データ応答を必要とせずにすぐに終了できます。

このメソッドは実際にはノード コア、特に http.ServerResponse.Useresponse.end() メソッドから来ています:

ノード Express フレームワークの res.send() と res.end() の簡単な分析

##構文

res.end([data[, encoding]][, callback])

パラメータ分析:

    data |
  • エンコーディング
  • コールバック

##詳細オブジェクトを

res.end()

メソッドに渡すと、エラーが発生します:

ノード Express フレームワークの res.send() と res.end() の簡単な分析Express の res.send()

定義HTTP 応答メッセージを要求側クライアントに送信します。

構文

res.send([body[,statusCode]])
body パラメータには、バッファ、オブジェクト、文字列、ブール値、または配列を指定できます。

さらに詳しく見るコードのデバッグを通じて、Express の

res.send()

メソッドが最終的に呼び出されることがわかります。 http.ServerResponse.Useresponse.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 === &amp;#39;HEAD&amp;#39;) { // skip body for HEAD this.end(); } else { // respond this.end(chunk, encoding); } return this; };</pre>Comparison

同じ点Express の res.end() メソッドと res.send() メソッドの類似点:

    どちらも最終的には
  • に戻ります。 http.ServerResponse.Use

    response.end() メソッド。

  • 両方とも現在の応答プロセスを終了します。

違いExpress の res.end() メソッドと res.send() メソッドの違い:

    前者は文字列またはバッファ タイプのみを送信できますが、後者は任意のタイプのデータを送信できます。
  • セマンティックの観点から見ると、前者は応答データのないシナリオにより適しており、後者は応答データのあるシナリオにより適しています。
  • 概要

Express の res.end() メソッドと res.send() メソッドを使用する場合、通常は

res.send( )

メソッドを使用するため、Express が内部でデータを処理するため、応答データの形式を気にする必要はありません。 ~この記事は終わりです、読んでいただきありがとうございました!

ノード関連の知識の詳細については、

nodejs チュートリアル

を参照してください。 !

以上がノード Express フレームワークの res.send() と res.end() の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。