Javascript 为什么这个response.end(回调)被调用了两次?

Javascript 为什么这个response.end(回调)被调用了两次?,javascript,node.js,Javascript,Node.js,我正在使用node.js,在这里我看到res.end(回调)不受控制。请帮我得到相关的答案 consthttp=require('http'); const body='追加文本'; const server=http.createServer((req,res)=>{ res.write(“你好,我创建了我的第一台服务器”); res.end(主体、后端) }); server.listen(2000); log(“服务器已启动并在2000年运行”); 函数afterend(){ conso

我正在使用node.js,在这里我看到res.end(回调)不受控制。请帮我得到相关的答案

consthttp=require('http');
const body='追加文本';
const server=http.createServer((req,res)=>{
res.write(“你好,我创建了我的第一台服务器”);
res.end(主体、后端)
});
server.listen(2000);
log(“服务器已启动并在2000年运行”);
函数afterend(){
console.log(“响应结束”)

}
这是正常的。实际上,被调用两次的不是回调。这是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")
}

谢谢你sharan,刚才我也检查了favicon.ico和createServer…:):)如果答案对你有帮助,请将其标记为正确