Javascript TypeError:fn不是函数-但我没有';t在我的文件中写入fn

Javascript TypeError:fn不是函数-但我没有';t在我的文件中写入fn,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我不知道这是怎么发生的,我正在编写代码,突然,我从另一个文件中得到了一个错误!我没有在我工作的文件中写fn。我正在使用的文件是C:/Users/-/Discord Bot/index.js,但我从C:/Users/-/Discord Bot/node_modules/@discordjs/collection/dist/index.js-第161行第17列中得到了错误,我确实在那一行看到了if(fn(val,key,this)),但我没有更改该文件中的任何内容,我以前甚至不知道它存在。我该怎么办

我不知道这是怎么发生的,我正在编写代码,突然,我从另一个文件中得到了一个错误!我没有在我工作的文件中写fn。我正在使用的文件是
C:/Users/-/Discord Bot/index.js
,但我从
C:/Users/-/Discord Bot/node_modules/@discordjs/collection/dist/index.js-第161行第17列中得到了错误,我确实在那一行看到了
if(fn(val,key,this))
,但我没有更改该文件中的任何内容,我以前甚至不知道它存在。我该怎么办?另一个
npm安装discord.js
?我只是最近才得到的。 这是完整的错误消息,以防您需要它

    at Map.find (C:\Users\---\Discord Bot\node_modules\@discordjs\collection\dist\index.js:161:17)
    at Client.<anonymous> (C:\Users\---\Discord Bot\index.js:394:56)
    at Client.emit (node:events:381:22)
    at MessageCreateAction.handle (C:\Users\---\Discord Bot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\---\Discord Bot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\---\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
    at WebSocketShard.onPacket (C:\Users\---\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
    at WebSocketShard.onMessage (C:\Users\---\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
    at WebSocket.onMessage (C:\Users\---\Discord Bot\node_modules\ws\lib\event-target.js:132:16)
    at WebSocket.emit (node:events:369:20)
在Map.find(C:\Users\-\Discord Bot\node\u modules\@discordjs\collection\dist\index.js:161:17)
在客户端。(C:\Users \--\Discord Bot\index.js:394:56)
在Client.emit(节点:事件:381:22)
在Object.module.exports[作为消息创建](C:\Users\-\Discord Bot\node\u modules\Discord.js\src\client\actions\MessageCreate.js:31:14)在Object.module.exports[作为消息创建](C:\Users\-\Discord Bot\node\u modules\Discord.js\src\client\websocket\handlers\MESSAGE\CREATE.js:4:32)
在WebSocketManager.handlePacket(C:\Users\--\Discord Bot\node\u modules\Discord.js\src\client\websocket\WebSocketManager.js:384:31)
在WebSocketShard.onPacket(C:\Users\-\Discord Bot\node\u modules\Discord.js\src\client\websocket\WebSocketShard.js:444:22)
在WebSocketShard.onMessage(C:\Users\--\Discord Bot\node\u modules\Discord.js\src\client\websocket\WebSocketShard.js:301:10)
在WebSocket.onMessage(C:\Users\--\Discord Bot\node\u modules\ws\lib\event target.js:132:16)
在WebSocket.emit(节点:事件:369:20)

因此重新安装discord.js对您没有帮助。该行的
fn
由您在index.js上设置

例如您可能运行
message.channel.find(VARIABLE)
fn
设置为
VARIABLE
,然后它尝试将
fn
作为函数运行,即使
VARIABLE
不是函数

现在我不知道get的设置在哪里(懒得检查代码),但是当您传入一个变量时,它确实是由您设置的

我的猜测是它在
index.js的
394
行上,因为这是一系列操作导致调用
fn
的时候


这是在没有代码和完全错误的情况下所能做的最好的事情。你给了我们线索而不是错误。如果没有与
index.js#394相关的代码,我们将无法进一步提供帮助。

这也可能意味着您编写的某些内容正在传递一个非预期函数。如果它“突然”发生,很可能是你的代码。你能发布你的代码吗?它将是其中某个地方的
.find()
方法。find方法位于第394行第56列。您需要使用接受
集合
并返回布尔值的函数调用find。是的,现在我知道它是哪一个,我删除了它,现在错误消失了,谢谢!粘贴的错误消息部分称为堆栈跟踪。它说明了javascript在遇到错误时所做的事情,而不是它在做的最后一件事情。第一行是@discordjs/collection模块,下一行是代码。跟踪堆栈跟踪直到找到代码对于调试非常有用。