【问题标题】:Got an error in Nodejs after restarting my computer [closed]重新启动计算机后Nodejs出错[关闭]
【发布时间】:2020-06-09 02:49:58
【问题描述】:

谁能告诉我这个错误是关于什么的?

(node:6540) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'data' of undefined
    at global.loadFactions (C:\Users\Brosiden\Desktop\redunion\Server\packages\server\src\systems\factions\index.js:11:29)
    at prom.then (C:\Users\Brosiden\Desktop\redunion\Server\packages\server\src\systems\databox\index.js:29:7)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:6540) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:6540) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

昨晚一切正常。早上我重新启动了我的电脑,然后它一直抛出这个错误。

【问题讨论】:

  • factions\index.js 第 11 行发生了什么?显示除错误之外的代码。
  • let factions = databox[4].data.factions; 这是第 11 行

标签: node.js json


【解决方案1】:

调和:

let factions = databox[4].data.factions;

出现此错误:

UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'data' of undefined

它基本上是在告诉您databox[4] 不存在或未定义。我的通灵能力表明你有一个名为 databox 的数组,但它的长度小于 4。要么,要么 databox 不是数组,而是其他一些对象。

在调用factions = databox[4].data.factions 行之前,调试或添加console.log 语句以打印databox 的内容。

【讨论】:

  • 问题是它一直工作到今天早上。但是今天早上我遇到了一些关于 mongodb 连接的错误并试图修复它们,最后我不得不重新安装 mongodb。生病尝试一些其他的事情,也许我能找到解决办法
  • 您是否真的尝试过调试它并在该行代码上放置一个断点?
  • 我想这样做,但在此之前我检查了我的数据库,发现它刚刚被删除,所以没有什么可以读取的。该数组用于为我的 gta 服务器加载一些东西。在我上传了我的数据库的备份后,它运行良好
  • 看到问题已经结束,但我再也没有回答我的修复方法,你去吧。问题是保存 databox 数组的文档从 mongodb 数据库中消失了,所以我不得不根据我记得的内容重新创建它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-26
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
相关资源
最近更新 更多