Home>Article>Web Front-end> A brief analysis of res.send() and res.end() in the node Express framework
This article will talk aboutnodeExpress framework and learn about res.send() and res.end() in Express. I hope it will be helpful to everyone!
In the server-side code usingNode.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 theresponse.end()
method ofhttp.ServerResponse.Use
:
##Syntax
res.end([data[, encoding]][, callback])Parameter analysis:
##In-depthIf 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.
Syntax
res.send([body[,statusCode]])The body parameter can be Buffer, Object, String, Boolean or Array.
Go deeperThrough code debugging, we can find that Express’s
res.send()method is ultimately called Also theresponse.end()
method ofhttp.ServerResponse.Use
:
Comparison// node_modules/express/lib/response.js res.send = function send(body) { var chunk = body; var encoding; …… if (req.method === 'HEAD') { // skip body for HEAD this.end(); } else { // respond this.end(chunk, encoding); } return this; };
Same pointsThe similarities between Express's res.end() and res.send() methods:
response.end()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!