本文解析Node.js中res.end与res.send的核心区别。当服务器需向客户端返回具体数据时,必须使用res.send;若无数据返回,则应使用res.end。错误混用会导致报错,文章通过Express示例代码展示了正确用法。
res.end与res.send的核心区别
在Node.js开发中,若服务器端无需向客户端返回任何数据,此时应使用res.end方法。
若服务器端需要向客户端返回数据,则必须使用res.send方法,而不能使用res.end,否则会导致报错。
具体示例如下:
Express代码示例
var express = require('express');
var app = express();
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
port : 3306,
database : 'test'
})
sql = 'select * from websites';
var arr = [];
connection.query(sql,function (err, results) {
if (err){
console.log(err)
}else{
console.log(results);
for(var i = 0;i < results.length;i++){
arr[i] = results[i].name;
}
app.get('/',function (req, res) {
res.send(arr); //这里必须用res.send,因为有数据返回到客户端
})
}
})
app.listen(3001);
以上关于Node.js中res.end与res.send区别的内容即为全部分享,希望能为读者提供参考,并欢迎大家继续支持本站。