351700
为什么当路由进入控制器的时候,controller都要重新实例化一遍?如下简单的代码。
const Controller = require('egg').Controller;
class User extends Controller {
constructor(ctx) {
super(ctx);
console.log('<------------ constructor' + new Date())
}
index() {
const { ctx } = this;
ctx.body = 'hello world'
}
}
个人的感觉不应该是控制器实例化一遍之后,路由直接调用实例化后的方法吗?如下伪代码:
const user = new User()
router.get('/user', user.index)
现在感觉是这样的。如下伪代码:
router.get('/user', function(some){
const user = new User()
user.index(some)
})