Javascript 如何在Node Express中使用dbconnection在开始时调用函数

Javascript 如何在Node Express中使用dbconnection在开始时调用函数,javascript,node.js,express,tedious,Javascript,Node.js,Express,Tedious,我对Nodejs有点生疏。我正在一个Nodejs-express解决方案中工作(作为angularjs web的web服务)。我想在MSSSQL数据库查询返回一些信息时发送电子邮件。这对我来说很有效。问题是这个函数应该在app.js中调用(当nodejs服务器启动时),因为该函数不应该响应任何前端/web调用 职能: exports.sendMailBuy = function(req, res) { //do stuff } app.js var silkcartCtrl = require

我对Nodejs有点生疏。我正在一个Nodejs-express解决方案中工作(作为angularjs web的web服务)。我想在MSSSQL数据库查询返回一些信息时发送电子邮件。这对我来说很有效。问题是这个函数应该在app.js中调用(当nodejs服务器启动时),因为该函数不应该响应任何前端/web调用

职能:

exports.sendMailBuy = function(req, res) {
//do stuff
}
app.js

var silkcartCtrl = require('./controllers/silkcart.controller');
我需要连接数据库,因此我尝试在同一个函数db连接中调用FunctionT(我使用的是冗长的):

通过此调用,我到达控制器中的函数,但
req
res
变量为空,因此无法完成连接

任何帮助都将不胜感激

提前感谢。

返回承诺时使用
.then()
方法。我不熟悉您正在使用的库,但您的代码表明
connect()
返回承诺

有关更多信息,请参阅


特别是,传递给
.then()
的函数只接受一个参数,该参数是由Promise解析的结果。在您的代码中,
err
被分配结果,而
req
res
未定义的,因为函数只接收一个参数

req,res不是从connect回调函数返回的,它们只能使用api请求进行访问,例如app.post(“/any route”,function(req,res))


如果您需要req对象来发送电子邮件,您可以使用node_mailer模块,因为使用node_mailer,您可以发送没有req对象的电子邮件

谢谢Asif。我需要连接到数据库,这就是为什么我需要传递req和res,其中设置了de db连接。我需要连接到数据库,这就是为什么我需要传递req和res,其中设置了de db连接。
dbsqlservertoken.connect().then(function(err, req, res) {
   console.log('Connection pool open for sql server');
   silkcartCtrl.sendMailBuy(req, res);
}).catch(function(err) {
  console.error('Error creating connection pool', err);
});