nodejs - 为什么我的异步函数运行两次
nodejs - why does my async function run twice?
我是node的新手.js并从在线教程中学习。我正在尝试以下代码:
var http = require("http");
// create a server
http.createServer(function(req, res) {
console.log("Received Request");
res.writeHead(200, {'Content-Type':'application/json'});
res.end("{'status':'200', 'message':'Hello World'}");
console.log("Response Sent");
}).listen(process.env.PORT, process.env.IP);
我确实收到了正确的响应,但在控制台中输出是:
Received Request
Response Sent
Received Request
Response Sent
我想知道为什么我的代码运行了两次?我犯了什么错误吗?请帮忙!!
最好的调试方法是检查网址
var http = require("http");
// create a server
http.createServer(function(req, res) {
console.log(req.url);//add this line, I hope it will help
console.log("Received Request");
res.writeHead(200, {'Content-Type':'application/json'});
res.end("{'status':'200', 'message':'Hello World'}");
console.log("Response Sent");
}).listen(process.env.PORT, process.env.IP);
此外,正如巴萨姆·鲁巴耶(Bassam Rubaye)指出的那样,很可能是由于您案例中的图标
当您使用浏览器访问网址时,浏览器将发送对网站图标的请求,然后发送另一个内容请求,这就是您看到两个请求的原因!
使用PostMan并请求相同的URL,您应该只看到一个请求。
没有错 - 这是正常的!您的浏览器发出多个请求。nodejs也有类似的答案 - http.createServer似乎调用了两次。
希望你学习节点.js玩得开心!
相关文章:
- Append元素在运行两次函数后不显示
- 我的所有代码在使用Webpack编译时都会运行两次
- 为什么两次运行完全相同的正则表达式的结果不同
- JavaScript/JQuery表单验证运行两次
- 若在两个不同的选项卡中打开同一个页面,如何防止javascript运行两次
- jQuery停止函数运行两次
- Socket.IO:重新连接导致服务器连接代码运行两次
- Gulp任务似乎运行了两次,而不是一次
- 函数jQuery.animation()运行了两次行,但不起作用
- nodejs - 为什么我的异步函数运行两次
- 模板函数在加载网页时运行两次
- 为什么 document.onreadystatechange 运行两次
- 我需要运行此功能两次
- 为什么 ajax 'application/json' 要运行 PHP 代码两次
- 必须在 Firefox 中运行两次 removeChild()
- nodeJs,运行两次sql可以将它们组合成json
- 防止脚本在执行时运行两次
- D3.js键功能在简单的选择器/数组组合上运行两次
- JS运行两次不起作用
- 如何防止 iframe 运行两次加载事件