如何将使用fs.readFileSync()的Node.js代码重构为使用fs.readFile()?

Bondifrench

我正在努力使自己在Node.js中实现同步还是异步,特别是在读取HTML文件方面。

在请求处理程序中,可以使用的同步版本如下:

    var fs = require("fs");
    var filename = "./index.html";
    var buf = fs.readFileSync(filename, "utf8");
    
    function start(resp) {
        resp.writeHead(200, { "Content-type": "text/html" });
        resp.write(buf);
        resp.end();
    }
    
    exports.start = start; 
  1. 使用的版本是什么readFile()
  2. 我了解这readFile是异步的,因此从理论上讲,我应该在渲染整个文件之前先等待整个文件被读取,因此我应该引入一个addListener吗?我可能会混淆不同的事情。

编辑:我试图重构代码是这样的:

    var fs = require("fs");
    var filename = "./index.html";
    function start (resp) {
        resp.writeHead(200, { "Content-Type": "text/html" });
        fs.readFile(filename, "utf8", function (err, data) {
            if (err) throw err;
            resp.write(data);
        });
        resp.end();
    }

我得到一张空白页。我猜这是因为它应该等待所有数据被读取,然后resp.write(data),我该如何发出信号呢?

网络羽绒被
var fs = require("fs");
var filename = "./index.html";

function start(resp) {
    resp.writeHead(200, {
        "Content-Type": "text/html"
    });
    fs.readFile(filename, "utf8", function(err, data) {
        if (err) throw err;
        resp.write(data);
        resp.end();
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.js使用fs.readFileSync读取大文件

来自分类Dev

使用fs.readFile的简单Node.js回调示例

来自分类Dev

使用Q使node.js fs.readFile作为承诺的操作

来自分类Dev

Node.JS fs.readFileSync()错误参数

来自分类Dev

返回到node.js中的目录(fs.readFileSync)

来自分类Dev

node.js fs.readFile如何知道何时到达EOF

来自分类Dev

如何使fs.readFile异步等待?

来自分类Dev

从node.js(速度更快),shell grep还是fs.readFile?

来自分类Dev

Node.js fs.readFile将读取的数据存储在内存中

来自分类Dev

Node.js fs.readfile /异步文件访问:在回调中获取当前文件

来自分类Dev

node.js:API差异fs.readFile与http.get

来自分类Dev

在循环中与fs.readFile一起使用Promises

来自分类Dev

使用require vs fs.readFile读取json文件内容

来自分类常见问题

fs.readFileSync不是相对文件吗?Node.js

来自分类Dev

如何使用 ReadFile 修复乱码?

来自分类Dev

Fs.readFile 返回未定义

来自分类Dev

如何使用 fs.readFileSync() 获取特定文件

来自分类Dev

Node.JS readFileSync()函数

来自分类Dev

fs.readFile之后关闭文件,为空

来自分类Dev

如何编写Meteor.wrapAsync fs.readFile?

来自分类Dev

在节点js中不起作用fs.readFile

来自分类Dev

node.js readFile内存泄漏

来自分类Dev

在PHP中为readfile()函数使用警报

来自分类Dev

fs.readFileSync错误

来自分类Dev

如何将阻塞代码重构为对node.js非阻塞

来自分类Dev

在fs.readFile中使用通配符/ glob / minimatch(在Express应用程序内部)

来自分类Dev

在异步fs.readFile的回调中使用EJS渲染HTML模板?

来自分类Dev

在异步fs.readFile的回调中使用EJS渲染HTML模板?

来自分类Dev

如何使用node.js的fs.write函数?

Related 相关文章

热门标签

归档