如何解决discord.js节点项目中的“变量不是构造函数”错误?

时间:2019-06-06 20:16:37

标签: javascript node.js mongodb mongoose discord.js

我正在使用discord bot进行测试,并试图在数据库中创建记录,但是它有一些麻烦。

mongodb服务器正在运行并且完全正常运行。

有两个文件。 首先,用命令代码: https://sourceb.in/6834bfe20e.js 第二。猫鼬方案: https://sourceb.in/9f0c7858df.js 确实,第三个文件索引文件带有命令处理程序和 库初始化,但这不参与错误。

我希望在数据库中创建一条记录,但是出现错误提示: 命令文件中的“令牌不是构造函数”:13:19

1 个答案:

答案 0 :(得分:-1)

问题:
简而言之,您要声明一个constant token,但还要将一个名为token的{​​{3}}传递给回调函数。当您尝试基于常量构造新对象时,实际上是在使用回调的token变量。

请注意此示例,该示例会在您的设置中发出相同的错误:

const token = class {
  constructor(guild) {
    this.guild = guild;
  }
};

console.log(new token('1234')); // Works fine.

function foo(token) {
  console.log(new token('1234')); // Throws error.
}

foo({ someOtherVar: true });

解决方案:
快速重命名您的变量即可。我建议命名您的const tokenSchema以避免冲突(和混乱)。