[英]NodeJs how to pass variable into export function
I have NodeJs restful api made by tutorial. 我有NodeJs restful api由教程制作。 And in my endpoint I want to pass export function. 在我的端点我想传递导出功能。 For example: 例如:
// main.js
REST_ROUTER.prototype.handleRoutes = function(router, connection, md5) {
router.get("/create", function(req, res) {
var query = ...
connection.query(query,function(err, row) {...}
});
}
But I want to do it like this: 但我想这样做:
// main.js
var example = require('./example.js');
REST_ROUTER.prototype.handleRoutes = function(router, connection, md5) {
router.get("/create", example.create);
}
// example.js
exports.create = function(req, res) {
var query = ...
connection.query(query,function(err, row) {...}
}
However, my connection
is not available in example.js. 但是,我的connection
在example.js中不可用。 How can I pass it? 我怎么能通过呢?
Something like this might help: 这样的事情可能会有所帮助:
// main.js
var example = require('./example.js');
REST_ROUTER.prototype.handleRoutes = function(router, connection, md5) {
router.get("/create", example.create(connection));
}
// example.js
exports.create = function(connection) {
return function(req, res) {
var query = ...
connection.query(query,function(err, row) {...}
}
}
Bind example to create example.create.bind(example,connections)
绑定示例以创建example.create.bind(example,connections)
// main.js
var example = require('./example.js');
REST_ROUTER.prototype.handleRoutes = function(router, connection, md5) {
router.get("/create", example.create.bind(example,connections));
}
// example.js
exports.create = function(connection, req, res) {
var query = ...
connection.query(query,function(err, row) {...}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.