gpt4 book ai didi

javascript - Node JS : Route. get() 需要一个回调函数,但在使用 ES6 模块时得到了一个 [对象未定义]

转载 作者:行者123 更新时间:2023-12-02 23:07:08 25 4
gpt4 key购买 nike

路线文件

  scoreboardroute.js

import { scoreRouteController } from '../controllers/scoreboardcontroller';

const SCOREROUTE = app => {
app.route('/getAllScores').get(scoreRouteController.getAllScores);
};

export { SCOREROUTE };

Controller 文件

scoreboardcontroller.js
import { scoreBoardModel } from '../model/scoreboardmodel';

class scoreRouteController {

getAllScores = (req, res) => {
scoreBoardModel.getAllScoresList((err, response) => {
if (err) {
res.send(err);
}
res.send(response);
});
};
}

export { scoreRouteController };

模型文件:

scoreboardmodel.js
import { db } from './db';

class scoreBoardModel {
getAllScoresList = callback => {
db.query('Select * from users', (err,response) => {
callback(err, response);
});
}
};

export { scoreBoardModel };

我试图在我的应用程序中使用 ES6 功能,例如类和箭头函数。当我尝试执行此代码时,出现以下错误。我不知道出了什么问题。我对 Node JS 服务器真的很陌生。那么,谁能帮我摆脱这个错误。

错误:

node_modules/express/lib/router/route.js:202 抛出新的错误(消息); ^

错误:Route.get() 需要一个回调函数,但得到了一个 [对象未定义] at Route.(匿名函数) [as get] (/node_modules/express/lib/router/route.js:202:15) 在 SCORROUTE (/app/routes/scoreboardroute.js:4:32) 在对象。 (/server.js:26:1) 在Module._compile(内部/modules/cjs/loader.js:689:30)

最佳答案

我正在寻找答案。

在导入类时,我使用类似对象导入的方式。所以,把它改成这样

import scoreRouteController from '../controllers/scoreboardcontroller';

而且我不会在我的应用程序中使用这么多实例。因此,我为类中的每个函数分配 static 关键字。

static getAllScores = (req, res) => {.....

导出时我没有导出对象。我改成了默认类导出。

export default scoreRouteController;

最后,它起作用了。

关于javascript - Node JS : Route. get() 需要一个回调函数,但在使用 ES6 模块时得到了一个 [对象未定义],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57534017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com