首页 > 解决方案 > TypeError: fn is not a function - 但我没有在我的文件中写 fn

问题描述

我不知道这是怎么发生的,我只是在处理我的代码,突然,我从另一个文件中得到一个错误!我没有在我正在使用的文件中的任何地方写 fn。我正在使用的文件是,C:/Users/---/Discord Bot/index.js但我得到了错误C:/Users/---/Discord Bot/node_modules/@discordjs/collection/dist/index.js - line 161 col 17,我确实if(fn(val, key, this))在该行看到但我在该文件中没有更改任何内容,我什至不知道它以前存在过。我该怎么办?另一个npm install 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)

标签: javascriptnode.jsdiscord.js

解决方案


所以重新安装 discord.js 对你没有帮助。index.js上设置的fn那一行

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

现在我不知道fnget 设置在哪里(懒得检查代码),但是当你传入一个变量时它确实被你设置了。

我的猜测394是它在你的线上index.js因为那是发生一系列动作导致fn被调用的时候。

这是没有您的代码和完全错误可以做到的最好的事情。您给了我们跟踪而不是错误。如果没有与您相关的代码,index.js#394我们将无能为力。


推荐阅读