This article will talk about node Express framework and learn about res.send() and res.end() in Express. I hope it will be helpful to everyone!
In the server-side code using Node.js
, if you are using the Express framework, then for a request, There are often two ways to respond:
// 方法1 app.get("/end", (req, res, next) =>{ res.end(xxx); }); // 方法2 app.get("/send", (req, res, next) =>{ res.send(xxx); });
So what is the difference between these two ways? What are their respective application scenarios? This is what I need to make clear today.
Definition
It can end quickly without requiring any data response.
This method actually comes from Node core, specifically the response.end()
method of http.ServerResponse.Use
:
##Syntax
res.end([data[, encoding]][, callback])
##In-depth If you pass an object into the
res.end() method, an error will occur:
Express's res.send()
DefinitionSends an HTTP response message to the requesting client.
Syntaxres.send([body[,statusCode]])
Go deeperThrough code debugging, we can find that Express’s
res.send() method is ultimately called Also the response.end()
method of http.ServerResponse.Use
: <div class="code" style="position:relative; padding:0px; margin:0px;"><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><div class="contentsignin">Copy after login</div></div>Comparison<h2 data-id="heading-9"></h2>
<p>Same points<strong><span style="font-size: 16px;"></span></strong>The similarities between Express's res.end() and res.send() methods: </p>
<p></p>
<ul style="list-style-type: disc;">Both of them eventually return to <li> The <p>response.end()<code> method of http.ServerResponse.Use
.
DifferencesThe differences between Express’s res.end() and res.send() methods:
method, so you don’t need to care about the format of the response data, because Express processes the data internally. ~This article is over, thank you for reading!
For more node-related knowledge, please visit:
nodejs tutorialThe above is the detailed content of A brief analysis of res.send() and res.end() in the node Express framework. For more information, please follow other related articles on the PHP Chinese website!