javascript - readfile() 回调调用了两次

标签 javascript node.js

我是 nodejs 和回调的新手。

所以我有这段代码,当通过 HTTP 发起对服务器的请求时,我在其中读取文件:

var http = require("http");
var fs = require("fs");

http.createServer(function(request,response){

    response.writeHead(200,{'Content-Type':'text/plain'});
    response.end("Server runnning...");

    fs.readFile('new.txt',function(err,data){
        if(err){
            console.error(err);
            return;
        }
        console.log(data.toString());
    });

}).listen(1234);

当我运行代码时,文件的内容在控制台上显示/记录两次。

lorem ipsum
lorem ipsum

文件内容为:

lorem ipsum

最佳答案

当您在浏览器的地址栏中键入 URL 时,它通常会发出两个请求:

  • 一个是你想看的页面
  • 一个用于/favicon.ico

两个请求意味着对 fs.readFile 的两次调用,因为您会为每个请求调用它。

关于javascript - readfile() 回调调用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35563941/

相关文章:

node.js - MongoSkin "Cannot read property ' 未定义的应用'

node.js - 环回错误 : connect ECONNREFUSED 127. 0.0.1:3306 (MAMP)

node.js - Azure - 使用 API 创建具有 IP 的 VM 实例

javascript - 在将流发送到客户端之前重命名 Node.js 中的流

JavaScript 事件 window.onload 未触发

javascript - 如何将固定宽度和 "custom-resizeable"长度设置为 Spring <form :textarea/>?

javascript - 移相器/类型错误 : Cannot read property 'then' of undefined

javascript - 刷新 dat.gui 变量

node.js - Npm 错误 - Windows NT - 如何解决

javascript - React-Native StackNavigator