Javascript 如何将异步编写的代码更改为回调函数
我编写了使用util.promisify和async读取文件并在localhost:3000上显示的代码 但是我想在不使用async和promise的情况下编写此代码 我做了以下尝试。 然而,console.log(“running 3000”)是输出的,但我的服务器进入无限循环 如何按计划运行代码 异步代码(原件) 回调代码(重新打包)Javascript 如何将异步编写的代码更改为回调函数,javascript,Javascript,我编写了使用util.promisify和async读取文件并在localhost:3000上显示的代码 但是我想在不使用async和promise的情况下编写此代码 我做了以下尝试。 然而,console.log(“running 3000”)是输出的,但我的服务器进入无限循环 如何按计划运行代码 异步代码(原件) 回调代码(重新打包) 不要使用util.promisify 请使用您的回调,而不仅仅是定义它 做 例如: 如果您不想使用承诺,为什么要使用util.promisify?您已经为
- 不要使用
util.promisify
- 请使用您的
,而不仅仅是定义它回调
- 做
如果您不想使用承诺,为什么要使用
util.promisify
?您已经为getData
函数定义了一个callback
参数……但您从未调用过它!不要在别人给出答案后完全改变你的问题。
var http = require('http');
var fs = require('fs');
var util = require('util');
var readFile = util.promisify(fs.readFile);
var app = http.createServer(function(req , res){
res.writeHead(200, {'Content-Type':'text/plain'});
getData().then(data => {
res.write(data);
res.end();
})
});
app.listen(3000);
async function getData(callback) {
console.log("running 3000");
return await readFile('./a.txt');
}
var http = require('http');
var fs = require('fs');
var util = require('util');
var app = http.createServer(function(req , res){
res.writeHead(200, {'Content-Type':'text/plain'});
getData(data =>{
res.write(data);
res.end();
})
});
app.listen(3000);
const getData = callback =>{
console.log("running 3000");
fs.readFile('./a.txt', (err, data) => {
if (err) throw err;
callback(data);
)};
}
// var readFile = util.promisify(fs.readFile);
const getData = callback =>{
console.log("running 3000");
fs.readFile('./a.txt', (err, data) => {
if (err) throw err;
callback(data);
};
}