DeprecationWarning:不使用回调调用异步函数已弃用
我正在使用electron + angularjs。当我使用id3js从mp3文件读取标签时,我开始得到DeprecationWarning: Calling an asynchronous function without callback is deprecated.
的问题。DeprecationWarning:不使用回调调用异步函数已弃用
id3({file: pathtofile,type: id3.OPEN_LOCAL}, function(err, tags) {
if (err) {
console.log(err);
} else {
console.log(tags);}
});
代码retun从MP3文件的标签,但继续产生这种弃用警告
以及我通过改变id3js库文件 解决这个问题,他们使用fs.open
所以我改变它是
fs.openSync(self.file, 'r', function(err, fd) {
if(err) {
return callback(err);
}
self.fd = fd;
callback();
});
并没有更多的问题,我将提交此git
这是一个坏的修复程序。除了你的服务器启动代码外,你永远都不想使用同步文件I/O,因为这会破坏服务器的可伸缩性。如果id3js代码使用'fs.open()',则必须使用回调。所以,你展示的东西还没有意义。如果您在id3js中向我们展示导致问题的代码(在您的问题中),我们可以帮助您使用推荐的良好修补程序。 – jfriend00
Plus'fs.openSync()'甚至不需要回调,所以这段代码根本不起作用。它可能会删除警告,但它不会正常工作。 – jfriend00
@在id3js jfriend00代码 'fs.open(self.file, 'R',函数(ERR,FD){ \t \t \t \t \t \t如果(ERR){ \t \t \t \t \t \t \t返回回调(ERR); \t \t \t \t \t \t} \t \t \t \t \t \t小号elf.fd = fd; \t \t \t \t \t \t callback(); \t \t \t \t \t}); ' –
你的问题是什么? –
我想知道为什么我得到这个错误,以及如何解决它 –
[DeprecationWarning:调用异步函数而不回叫已被弃用。 - 如何找到“功能:”是什么?](https://stackoverflow.com/questions/41195580/deprecationwarning-calling-an-asynchronous-function-without-callback-is-depreca) – Mistalis