问题描述
我在玩代码的模块化。
对我来说它看起来不错,即使代码编辑器也不会抱怨并看到来自 database.js
的方法
但是,当我调用它时会抛出 is not a function
错误
database.js
:
function database() {
function findAll(schemaType,params) {
return ...
}
return { findAll }
}
module.exports = database;
以及这个模块的使用
model.js
:
const database = require('../db/database');
class Model {
constructor() {
// ..,other logic
this.findAll = (params) => database.findAll(this.schema,params) //Error pointing to this line
}
}
我得到的错误是直接指向线
TypeError: database.findAll
不是函数
在 Movie.Model.findAll (/home/mat/Projects/-task-v3/-task-v3/src/models/model.js:12:45)
在/home/mat/Projects/-task-v3/-task-v3/src/routes/findAll.js:21:33
在 Layer.handle [as handle_request] (/home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/layer.js:95:5)
接下来(/home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/route.js:137:13)
在/home/mat/Projects/-task-v3/-task-v3/src/middlewares/query-validator.js:22:9
在 Layer.handle [as handle_request] (/home/mat/Projects/-task-v3/recuitment-task-v3/node_modules/express/lib/router/layer.js:95:5)
接下来(/home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/route.js:137:13)
在 Route.dispatch (/home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/route.js:112:3)
在 Layer.handle [as handle_request] (/home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/layer.js:95:5)
在 /home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/index.js:281:22
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)