首页 > 解决方案 > 在 router.get 中使用类方法

问题描述

我对node.js真的很陌生,当我在router.get回调中使用类方法时遇到问题
它给了我这个错误:
你们能帮帮我吗?

Route.get() requires a callback function but got a [object object]

这是我的代码


路由器.js:

const express = require('express');
const router = express.Router();
const test = require('../controller/controller');
router.get('/', test.testing());
module.exports = router;


控制器.js:

class oop
{
    testing(req,res)
    {
        console.log('okay');
    }
}
exports.testing =new oop();


应用程序.js:

const express = require('express');
const app = express();
app.listen(80);
const wiki = require('./routes/router');
app.use('/', wiki);

标签: javascriptnode.jsexpress

解决方案


回调函数将在任意时间内被调用,因此您需要提供对该函数的引用......所以当时间到来时,Javascript 可以执行该函数。在您的情况下,您不是在传递函数,而是在运行它!test.testing(). 您实际上传递给“回调”参数的是结果test.testing(),在这种情况下,是undefined


推荐阅读