Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点弃用警告:不使用回调调用异步函数已弃用_Javascript_Node.js - Fatal编程技术网

Javascript 节点弃用警告:不使用回调调用异步函数已弃用

Javascript 节点弃用警告:不使用回调调用异步函数已弃用,javascript,node.js,Javascript,Node.js,尝试在localhost:8080上使用重载运行项目时遇到问题。因此,当我尝试在localhost上启动项目时,会出现以下错误: 这不是我的项目的问题,这个确切的项目是上周工作,现在没有我的项目可以正常运行。为了确保它不是我的项目,我进入文件浏览器,用chrome打开index.html文件,它只运行index.html,我的脚本都没有工作。我不知道该怎么解决这个问题。如果有人能帮忙,那就太好了。我安装了node v7.8.0,这给我带来了很多问题。我卸载了该版本并安装了NodeV6.10.1

尝试在localhost:8080上使用重载运行项目时遇到问题。因此,当我尝试在localhost上启动项目时,会出现以下错误:


这不是我的项目的问题,这个确切的项目是上周工作,现在没有我的项目可以正常运行。为了确保它不是我的项目,我进入文件浏览器,用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()做两件事

  • 它根据编码获取数据的内容,在本例中指定为utf8
  • 然后捕获并抛出错误(err)(如果有)

  • 注意:编码是必要的,如果您想让文件具有可读性,我会寻找在不回调的情况下调用异步函数的代码-如果您没有做任何更改,也没有更新nodejs,那么与上周相比,您的行为不应该有任何更改这不是错误,而是警告。要修复此问题,请不要使用(您自己的代码或库中的代码)使用不带回调的异步函数。最有可能的是,您的node版本已更新,现在它让您知道这种使用以前还可以,但现在不鼓励了。最近,我在编写将写入文件的快速脚本时遇到了它。因为我不需要任何回调,所以我必须使用writeFileSync,这样我就不会出现错误。只要在你的代码中寻找类似的用法,并根据需要进行调整。@Christopher我已经修复了它。我不得不卸载并重新安装nodejs。这很奇怪,因为我安装了节点v7.8.0。现在我有了v6.10.1。我不知道这两个版本的区别。如果你们中的一个人能够详细说明这些差异,这将非常有用。使用nvm或n切换并安装不同版本的node。我建议您仍然注意警告,并在可以的地方更新代码。出于正当理由,该用法在最新版本中被弃用。保留较旧的版本将暂时避免警告,但与利用较新节点版本在性能、安全性和功能方面的持续改进相比,这并不是一个很好的长期解决方案。