javascript - 在 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);
解决方案
回调函数将在任意时间内被调用,因此您需要提供对该函数的引用......所以当时间到来时,Javascript 可以执行该函数。在您的情况下,您不是在传递函数,而是在运行它!test.testing()
. 您实际上传递给“回调”参数的是结果test.testing()
,在这种情况下,是undefined
推荐阅读
- c - 不能将“#define”作为函数参数传递,但可以传递“#define”的数组[n]
- shell - 使用 -name 的几个参数查找
- javascript - 使用 node-libcurl 发出 curl 请求会返回错误的身份验证错误响应
- php - 滚动到窗口底部时无限滚动加倍结果PHP MYSQL JQUERY
- javascript - React Carousel.Item 未呈现
- python - Python unittest pip 包
- node.js - 无法在discord js v12上完成角色反应机器人
- python - 熊猫情节分裂长xtickslabels
- elasticsearch - 使用 UpdateByQueryAsync 在 Elasticsearch 中使用 NEST 进行部分更新
- java - 如何在 JSON 正文中传递单个参数,为什么我会出现异常?