Node.js 弃用警告:timers.unenroll()已弃用。请改用clearTimeout

Node.js 弃用警告:timers.unenroll()已弃用。请改用clearTimeout,node.js,Node.js,通过youtube了解node.js 我犯了这个错误 $nodemon index.js (节点:18129)[DEP0096]不推荐使用警告:timers.unroll()已不推荐使用。请改用clearTimeout 应用服务器仍然能够运行。然而,当我试图添加路由器以添加项目作为视频时,它从未成功通过。然而,我会称之为半成功,因为我确实在终端中看到了数据日志,但从未返回到数据库。如您所见,在我查询后,我们可以在终端中看到xxx作为名称,40作为价格 http://localhost:4000/

通过youtube了解node.js

我犯了这个错误

$nodemon index.js
(节点:18129)[DEP0096]不推荐使用警告:timers.unroll()已不推荐使用。请改用clearTimeout

应用服务器仍然能够运行。然而,当我试图添加路由器以添加项目作为视频时,它从未成功通过。然而,我会称之为半成功,因为我确实在终端中看到了数据日志,但从未返回到数据库。如您所见,在我查询后,我们可以在终端中看到xxx作为名称,40作为价格

http://localhost:4000/products/add?name=xxx&price=40
在浏览器中,如10:52左右的视频中所示。(我在index.js文件中硬编码后使其工作。为什么我不能像视频那样查询它呢?)我假设是timers.unenorll()造成的。但我在谷歌上搜索了一下,只找到了这个,还有这个(第页)

但我不知道该怎么办。找不到解决方案。请帮助

$ node -v
v10.0.0


违规者似乎是代码中这个位置的mysql模块,在这里您可以看到对
计时器的调用。unroll(sequence)

从node.js Github站点上的各种评论中可以看出,API似乎已被弃用,但不会很快被删除。希望mysql在某个时候能换成替代品。如果您想了解更多信息,可以在他们的Github网站上查询。具体问题已经在mysql站点上提出了:当前的响应是mysql模块还不支持node.js 10.x

这大概意味着,如果您愿意,您可以将节点版本回滚到8.x,问题可能已经解决,或者只需等待直接支持nodejs 10.x的mysql版本

npm install mysql@2.16.0 --save

只需将mysql库更新为最新版本。

您可以向我们展示您的index.js代码吗?我假设您的代码或您需要的某个模块正在使用不推荐使用的API。从我做的一点调查来看,这可能是因为你需要一些东西。当然。请检查。@jfriend00请分享您的想法。弃用警告不应引起任何问题,您现在可以忽略它。添加此行
console.log(err,results)
连接.查询..
的回调函数。打印什么?升级到v10.0.0后,我收到了相同的警告。但这只是一个警告,应用程序仍然可以正常工作。如果我将您的节点版本回滚到8.x,它们是否有任何需要更新的文件,例如包文件。有什么我需要奖励的吗?@StackExangeLearner-我不知道of@StackExangeLearner-这回答了你的问题吗?如果是这样的话,你可以通过点击答案左边的复选标记来向社区表明这一点,并为自己按照正确的程序赢得一些声誉点。我有mysql 2.18.1,这仍然是一个问题。这非常有效。我建议将代码更改为最新版本:
npm安装mysql--save
。npm命令还更新已安装的软件包。如果您只关心主版本而不关心次版本,请
npm installmysql@2
就足够了。在撰写本文时,版本
2.17.1
是最新的2版本,但将来可能会发生变化。
Protocol.prototype._dequeue = function(sequence) {
  Timers.unenroll(sequence);

  // No point in advancing the queue, we are dead
  if (this._fatalError) {
    return;
  }

  this._queue.shift();

  var sequence = this._queue[0];
  if (!sequence) {
    this.emit('drain');
    return;
  }

  this._parser.resetPacketNumber();

  this._startSequence(sequence);
};
npm install mysql@2.16.0 --save