如何在内部调用快速导出方法

How to call an express export method internally?

本文关键字:方法 在内部 调用      更新时间:2023-09-26

这是我的第一个对http调用响应良好的方法:

exports.create = function(req, res, next){
  var submission = new task(req.body);  
   submission.save(function(err){
     if(err){
        return next(err);
    } else {
        res.json(submission);
    }
  });
};

现在,我想从同一个文件中定义的方法调用它:

exports.evaluate = function(req, res, next){
  if(req.body.value == x){
    // need to call the above method
   this.create(req.body.someobject)
  }
};

如何做到这一点?

正确的方法是定义一个不是路由处理程序的通用方法,并从处理程序中调用它。

var _create = function (object, callback) {
  var submission = new task (object);
  submission.save(callback);
}
exports.create = function(req, res, next){
  _create(req.body, function(err){
     if(err){
        return next(err);
    } else {
        res.json(submission);
    }
  });
};
exports.evaluate = function(req, res, next){
  if(req.body.value == x){
    // need to call the above method
    _create(req.body.someobject, function (err) {
      // Send response
    });
  }
};