我一直在我的节点代码中收到此错误。 DeprecationWarning:不建议在不回调的情况下调用异步函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我一直在我的节点代码中收到此错误。 DeprecationWarning:不建议在不回调的情况下调用异步函数相关的知识,希望对你有一定的参考价值。
我想在node.js中创建一个小服务器。不幸的是它一直给我这个错误。
(node:8412) [DEP0013] DeprecationWarning: Calling an asynchronous function without callback is deprecated.
fs.js:113
throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs
基本上,我只是导入所有必需的模块。然后我继续解析请求以检查请求中的文件名是文件或目录还是服务器上不可用的内容。这是我的代码:
//include the module http,url,path,fs
const http=require('http');
const url=require('url');
const path=require('path');
const fs=require('fs');
//define the mime types that we would be using
const mimeTypes={
"html":"text/html",
"jpeg":"image/jpeg",
"jpg":"image/jpg",
"png":"image/png",
"js":"text/javascript",
"css":"text/css"
};
//define the host name to local machine IP
const hostname='127.0.0.1';
//define the port on which over server would be runnning
const port = 3000;
//lets create the server
const server= http.createServer(function(req,resp){
//get the path name
var uri=url.parse(req.url).pathname;
// get eh file name
var filename =path.join(process.cwd(),unescape(uri));
console.log('loading'+ uri);
var stats;
// cehck to see if the file name is actually a file directory or non existant stuff
try{
stats=fs.lstat(filename);
if(stats.isFile()){
var mimeType=mimeType[path.extname(filename).split(".").reverse()[0]];
resp.writeHead(200,{'Content-Type':mimeType});
var fileStream = fs.createReadStream(filename);
fileStream.pipe(resp);
resp.end();
} else if(stats.isDirectory()){
resp.writeHead(302,{
'Location':'index.html'
});
resp.end();
}
else{
resp.writeHead(500,{'Content-Type':'text/plain'});
resp.write('500 Internal server error
');
resp.end();
}
}catch(e)
{
resp.writeHead(404,{'Content-type':'text/plain'});
resp.write('404 Not Found
');
resp.end();
return;
}
}).listen(3000);
//lets create a listner to make sure that the port is running when the code is called
server.listen(port,hostname,()=>{
console.log(`Server running at http://${hostname}:${port}/`);
});
答案
fs.lstat是一个异步调用,您可以添加回调或使用同步版本的调用; fs.lstatSync
https://nodejs.org/api/fs.html#fs_fs_lstat_path_options_callback
以上是关于我一直在我的节点代码中收到此错误。 DeprecationWarning:不建议在不回调的情况下调用异步函数的主要内容,如果未能解决你的问题,请参考以下文章
我部署了我的项目,我收到此错误 Input file contains unsupported image format
每次我尝试在我的 android 设备中运行代码时都会收到此错误。我是应用程序开发的初学者。我正在使用 VScode
为啥我在我的 Django 项目中不断收到此“名称‘模型’未定义”错误?