在同一控制器节点上调用函数



我在带有expressjs的nodejs中有以下控制器,我正在尝试在同一控制器中调用一个函数,但我有以下错误响应.editarAluno不是函数

控制器

var alunoController = {
  criarAluno: function (req, res) {
    this.editarAluno(req, res);
  },
  editarAluno: function (req, res) {
    console.log('Ok....');
  },
};
module.exports = alunoController;

我会这样做:

var alunoController = {
  criarAluno: function (req, res) {
    alunoController.editarAluno(req, res);
  },
  editarAluno: function (req, res) {
    console.log('Ok....');
  },
};
module.exports = alunoController;

不要指望this,而是指望alunoController,因为我认为thiscriarAluno有关,而不是alunoController

Aluno 控制器是一个对象...

您应该考虑重新定义如何构建控制器...

使用以下代码,this是控制器类中的范围。

class AlunoController {
  criarAluno(req, res) {
    this.editarAluno(req, res);
  }
  editarAluno(req, res) {
    console.log('Ok....');
  }
};
module.exports = new AlunoController();

最新更新