节点弃用警告:不建议在不回调的情况下调用异步函数

时间:2017-04-03 01:26:33

标签: javascript node.js

我在尝试在localhost上运行我的项目时遇到问题:重新加载8080。所以,当我尝试在localhost上启动我的项目时,它给了我这个错误:

Deprecation Error

这对我的项目来说不是问题,这个确切的项目上周正在运行,现在我的项目都无法正常运行。为了确保它不是我的项目,我进入了文件浏览器并使用chrome打开了index.html文件,它只运行了index.html我的脚本没有被引入。我不知道如何解决这个问题。如果有人能提供帮助那就太棒了。

2 个答案:

答案 0 :(得分: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(),做两件事,

  1. 它根据编码获取数据的内容,在本例中指定为utf8。
  2. 然后捕获并抛出错误(错误),如果有的话。
  3. 注意:如果您希望文件是人类可读的

    ,则必须进行编码

答案 1 :(得分:0)

我安装了节点v7.8.0,这导致了我的问题。我卸载了该版本并安装了节点v6.10.1,修复了这个奇怪的问题。