gpt4 book ai didi

javascript - Node 如何将文件传递给 http.write 方法?

转载 作者:太空宇宙 更新时间:2023-11-04 03:07:02 24 4
gpt4 key购买 nike

我想将文件打印到 res.write() 方法,但出现错误:

TypeError: First argument must be a string or Buffer

我的代码:

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


http.createServer(function (req, res){

res.write(getData());
res.end();

}).listen(3333);


function getData(){
fs.readFile('testfs.txt', function(err, data){

if(err)
{
console.log("Error: " + err);
}else {
console.log(data.toString());
return data.toString();
}

});
}

有什么问题吗?

最佳答案

res.write 未获取字符串或缓冲区,因为您的函数 getData 不是异步的。这是我希望能够解决您的问题的修复:

http.createServer(function (req, res){

getData(function(data){
res.write(data);
res.end();
}));

}).listen(3333);

function getData(cb){
fs.readFile('testfs.txt', function(err, data){

if(err)
{
console.log("Error: " + err);
}else {
cb(data.toString());
}

});
}

其中cb参数显然是一个回调函数。

关于javascript - Node 如何将文件传递给 http.write 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37097935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com