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

Node.js调用writeParams时报TypeError [ERR_INVALID_ARG_TYPE]原因是什么

错误原因

你调用writeParams函数时传入的参数是undefined,JSON.stringify处理undefined时会直接返回undefined,而fs.writeFileSync的第二个参数要求必须是字符串、Buffer、TypedArray或DataView类型,传入undefined就触发了本次类型错误。

排查步骤
  • 打开你的E:\TB\JS\index.js文件,定位到第85行,也就是错误栈里标注的Timeout.main函数调用writeParams的位置,打印你传入writeParams的参数,确认参数是否为undefined。
  • 检查这个参数的生成逻辑:常见原因包括异步操作未完成就提前调用了writeParams、参数赋值逻辑有分支遗漏导致没完成赋值、读取上游数据失败没有捕获异常。
修复方案

你可以选择任意一种方式修复:

  • 调用侧修复:确保调用writeParams时传入的参数是合法的非undefined值,参数异常时先做异常处理再调用写文件函数。
  • 函数侧加兜底校验:修改writeParams函数,增加参数校验和默认值兜底,示例代码如下:
function writeParams(data) {
    // 空值兜底,传入undefined时默认写空对象,你也可以根据业务需求改成其他默认值
    const validData = data ?? {}
    console.log("Writing params.json file. . .", validData);
    // 可选:JSON.stringify加后两个参数,让写入的json文件格式化,方便查看
    return fs.writeFileSync(paramsPath, JSON.stringify(validData, null, 2))
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:36:04