You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript跨类调用方法报slackService.getAccessData is not a function错误咨询

问题原因

你遇到的报错核心是slackService.getAccessData不存在,问题出在模块导出导入逻辑和代码语法错误两点:

  1. 导出类型不匹配:你在slackService.js中默认导出的是SlackService类本身,不是类的实例,而getAccessData是定义在类原型上的实例方法,必须实例化之后才能调用。你在slackController.js中直接导入类构造函数就调用实例方法,自然会触发不是函数的报错。
  2. 语法错误:slackService.js的代码末尾多了一个多余的右大括号,会导致模块解析异常,也可能引发调用失败。

解决方案

二选一即可:

方案1(更推荐,无需修改controller代码)

修改slackService.js的导出逻辑,导出实例化后的对象,和SlackController的导出逻辑保持一致:
把slackService.js的最后一行

export default SlackService;

替换为

export default new SlackService();

同时删掉slackService.js中类定义末尾多余的那个右大括号,修正语法错误。

方案2(修改controller代码)

保持slackService.js的导出不变,在slackController.js中导入类后先实例化再调用:
在slackController.js的import语句后补充实例化逻辑:

import SlackService from "../services/SlackService.js"
const slackService = new SlackService()

同样需要先删掉slackService.js中多余的右大括号修正语法。

内容的提问来源于stack exchange,提问作者enCouder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:15:03