Javascript 如何在Node Express中使用dbconnection在开始时调用函数
我对Nodejs有点生疏。我正在一个Nodejs-express解决方案中工作(作为angularjs web的web服务)。我想在MSSSQL数据库查询返回一些信息时发送电子邮件。这对我来说很有效。问题是这个函数应该在app.js中调用(当nodejs服务器启动时),因为该函数不应该响应任何前端/web调用 职能: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
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);
});