报错TypeError: categoriesService.createCatergry is not a function求助
问题解决
核心错误点
- 函数名拼写不一致:控制器中调用的是
createCatergry(拼写错误,少了字母o),但service文件中定义的函数是createCategory,这是触发is not a function报错的直接原因。 - service函数未导出:你定义的
createCategory函数没有对外导出,导致控制器无法从categoriesService中访问到该方法。
修复步骤
1. 修正控制器中的函数调用拼写
将控制器里的categoriesService.createCatergry改为正确的categoriesService.createCategory:
categoriesService.createCategory(model, (error, results) => { if (error) { return next(error) } else { return res.status(200).send({ message: 'Success', data: results }) } })
2. 导出service中的函数
在service文件末尾添加导出语句,确保控制器能正确引入该方法:
async function createCategory(params, callback) { if (!params.categoryName) { return callback({ message: 'Category name is required' }, ""); } const model = new category(params); model.save().then((response) => { return callback(null, response); }).catch((error) => { return callback(error); }) } // 添加导出逻辑 module.exports = { createCategory }
3. 顺带修正其他拼写错误
- service中的
parmas改为params(参数拼写错误) - service中的
massage改为message(提示信息拼写错误)
额外说明
报错提示的"remove unsend function"是拼写错误导致IDE无法识别函数,修复上述问题后该提示会自动消失。
内容的提问来源于stack exchange,提问作者Ibrahim Mahmoud
相关产品推荐
相关产品推荐

