javascript - 为什么这个 response.end(callback) 被调用了两次?

标签 javascript node.js

我正在使用 node.js,我看到这个 res.end(callback) 不受控制。请帮助我获得相关答案。

const http = require('http');
const body = ' Appending text';
const server = http.createServer((req,res)=> {
    
    
    res.write("Hello , I created my first server ");
    res.end(body,afterend)   
    
});

server.listen(2000);
console.log("server is up and  running at 2000");
function afterend(){
    console.log("response ended")
}
**控制台输出: 服务器已启动并运行在 2000 响应结束 响应结束

预期的控制台输出: 服务器已启动并运行在 2000 响应结束 **

最佳答案

这很正常。事实上,它不是被调用两次的回调。这是 createServer 方法。大多数浏览器都会调用 grab/favicon.ico。带有 req.url 的 console.log 会告诉你发生了什么

const http = require('http');
const body = ' Appending text';
const server = http.createServer((req, res) => {
    console.log('Who is getting called here', req.url);
    res.write("Hello , I created my first server ");
    res.end(body, afterend)
});

server.listen(2000);
console.log("server is up and  running at 2000");
function afterend() {
    console.log("response ended")
}

关于javascript - 为什么这个 response.end(callback) 被调用了两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56055735/

相关文章:

javascript - 如何避免 React Native 中的 jsx 样式错误?

javascript - 生成一年内的随机日期并赋值给var

JavaScript,从多个数组中获取所有唯一的组合

angularjs - 我可以使用 html5 本地存储来存储用户身份验证 session 信息吗

node.js - MongoDB:聚合,按多个字段分组

javascript - 单击提交按钮后显示隐藏的表格

javascript - 通过使用回调重用我的 AJAX post 函数

node.js - 将 Sails.js 项目部署到 Google 云 : "Fatal error: Unable to find local grunt."

node.js - MongoDB - 无法连接到 127.0.0.1 :27017, 原因:errno:111 连接被拒绝

node.js - 将 Web 部署到 AWS Elastic Beanstalk 后,Sequelize 不起作用