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

Discord JS v12导入汇率转换函数报错convertRMB不是函数问题

报错修复方案

1. 核心报错原因:模块导入导出格式不匹配

你在函数文件中是用对象包裹的方式导出函数:

module.exports = {convertRMB};

而调用文件中导入时没有做解构,此时拿到的convertRMB变量实际是{convertRMB: Function}这个对象,而非函数本身,调用对象自然会触发TypeError: convertRMB is not a function报错。

两种修复方案任选其一即可:

  • 方案一:修改导入代码,用解构方式拿到函数
    把调用文件的导入行改为:
const { convertRMB } = require('../functions/convertRMB');
  • 方案二:修改导出代码,直接导出函数本身
    把函数文件的导出行改为:
module.exports = convertRMB;

2. 导入问题修复后需要同步修正的异步逻辑错误

你的代码还有两处异步逻辑遗漏,修复导入问题后会立刻触发新报错,需要同步修改:

  • 第一处:函数内部responseRMB.json()是异步方法,你没有加await,拿到的dataRMB是Promise对象,无法直接读取eur、usd属性,需要修改为:
    const dataRMB = await responseRMB.json();
    
  • 第二处:convertRMB是async异步函数,调用后默认返回Promise对象,直接渲染到消息中会显示[object Promise]而非计算结果,调用时需要加await:
    const amountEUR = await convertRMB(inputAmount);
    

可选优化

可以新增输入校验逻辑,判断用户传入的inputAmount是否为合法数字,避免最终计算结果出现NaN的情况。

内容的提问来源于stack exchange,提问作者LUKΛS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:24:03