Javascript 节点弃用警告:不使用回调调用异步函数已弃用
尝试在localhost:8080上使用重载运行项目时遇到问题。因此,当我尝试在localhost上启动项目时,会出现以下错误:Javascript 节点弃用警告:不使用回调调用异步函数已弃用,javascript,node.js,Javascript,Node.js,尝试在localhost:8080上使用重载运行项目时遇到问题。因此,当我尝试在localhost上启动项目时,会出现以下错误: 这不是我的项目的问题,这个确切的项目是上周工作,现在没有我的项目可以正常运行。为了确保它不是我的项目,我进入文件浏览器,用chrome打开index.html文件,它只运行index.html,我的脚本都没有工作。我不知道该怎么解决这个问题。如果有人能帮忙,那就太好了。我安装了node v7.8.0,这给我带来了很多问题。我卸载了该版本并安装了NodeV6.10.1
这不是我的项目的问题,这个确切的项目是上周工作,现在没有我的项目可以正常运行。为了确保它不是我的项目,我进入文件浏览器,用chrome打开index.html文件,它只运行index.html,我的脚本都没有工作。我不知道该怎么解决这个问题。如果有人能帮忙,那就太好了。我安装了node v7.8.0,这给我带来了很多问题。我卸载了该版本并安装了NodeV6.10.1,修复了这个奇怪的问题 同时,回到以前的版本是可行的,但从长远来看无法解决问题,而且您也无法从新的修复、更新和升级中获益 调用时会导致该警告的一个示例是函数
fs.readFile(path[, options], callback)
如果没有回调,则会出现警告
要防止出现警告并实现回调,例如:
const fs = require('fs');
fs.readFile('./good.txt', 'utf8', function read(err, data) {
if (err) {
throw err;
}
content = data;
// call the next step here
console.log(content); // content display
it
});
回调函数read()做两件事
注意:编码是必要的,如果您想让文件具有可读性,我会寻找在不回调的情况下调用异步函数的代码-如果您没有做任何更改,也没有更新nodejs,那么与上周相比,您的行为不应该有任何更改这不是错误,而是警告。要修复此问题,请不要使用(您自己的代码或库中的代码)使用不带回调的异步函数。最有可能的是,您的node版本已更新,现在它让您知道这种使用以前还可以,但现在不鼓励了。最近,我在编写将写入文件的快速脚本时遇到了它。因为我不需要任何回调,所以我必须使用writeFileSync,这样我就不会出现错误。只要在你的代码中寻找类似的用法,并根据需要进行调整。@Christopher我已经修复了它。我不得不卸载并重新安装nodejs。这很奇怪,因为我安装了节点v7.8.0。现在我有了v6.10.1。我不知道这两个版本的区别。如果你们中的一个人能够详细说明这些差异,这将非常有用。使用nvm或n切换并安装不同版本的node。我建议您仍然注意警告,并在可以的地方更新代码。出于正当理由,该用法在最新版本中被弃用。保留较旧的版本将暂时避免警告,但与利用较新节点版本在性能、安全性和功能方面的持续改进相比,这并不是一个很好的长期解决方案。