Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NodeJs how to pass variable into export function

I have NodeJs restful api made by tutorial. 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. How can I pass it?

like image 314
user256968 Avatar asked Jul 12 '26 11:07

user256968


1 Answers

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) {...}
    }
}
like image 200
nitishagar Avatar answered Jul 15 '26 02:07

nitishagar



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!