Express.js – res.end() 方法
res.end() 方法结束了当前响应进程。此方法用于在没有任何数据的情况下快速结束响应。如果需要使用数据进行响应,则应该使用 res.send() 方法或 res.json() 方法。
语法
res.end([data], [encoding])
默认编码为 'utf-8'。
示例 1
创建一个名为 "resEnd.js" 的文件,并复制以下代码片段。创建文件后,使用如下所示的命令 "node resend.js" 来运行此代码 −
// res.end() Method Demo Example // Importing the express module var express = require('express'); // Initializing the express and port number var app = express(); // Initializing the router from express var router = express.Router(); var PORT = 3000; // Defining an endpoint app.get('/api', function (req, res) { console.log("Ending the process without any data"); res.end(); }); app.listen(PORT, function(err){ if (err) console.log(err); console.log("Server listening on PORT", PORT); });
输出
使用 GET 请求点击以下端点:localhost:3000/api
C:\home
ode>> node resEnd.js Server listening on PORT 3000 Ending the process without any data
示例 2
我们来看看另一个示例。
// res.end() Method Demo Example // Importing the express module var express = require('express'); // Initializing the express and port number var app = express(); // Initializing the router from express var router = express.Router(); var PORT = 3000; // Defining an endpoint app.get('/api', function (req, res) { console.log("Ending the process without any data"); res.end(); res.send("Data sent after ending the process"); }); app.listen(PORT, function(err){ if (err) console.log(err); console.log("Server listening on PORT", PORT); });
输出
使用 GET 请求点击以下端点:"localhost:3000/api"
C:\home
ode>> node resEnd.js Server listening on PORT 3000 Ending the process without any data Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client at ServerResponse.setHeader (_http_outgoing.js:470:11) at ServerResponse.header (/home/node/test/node_modules/express/lib/response.js:771:10) at ServerResponse.contentType (/home/node/test/node_modules/express/lib/response.js:599:15) at ServerResponse.send (/home/node/test/node_modules/express/lib/response.js:145:14) at /home/node/test/express.js:16:6
广告